Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czemu to nie chodzi ? :(
Forum PHP.pl > Forum > Bazy danych > MySQL
warliker
  1. <? 
  2.  mysql_connect(&#092;"localhost\",\"xxx\", \"xxx\");
  3.  mysql_select_db (&#092;"xxxxx\");
  4.  $wykonaj = mysql_query(&#092;"SELECT * FROM users WHERE $user_name==nick\");
  5.  while($dane1=mysql_fetch_array($wykonaj)) 
  6. { 
  7. if($dane1[2]==$pass)
  8. {
  9. $_SESSION['login']='1';
  10. header(&#092;"index.php\");
  11. }
  12. else
  13. {
  14. print 'Takie konto nie istnieje :(';
  15. }
  16. }
  17. ?>

Wywala mi taki błąd:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/rice/public_html/t2a/login.php on line 5

Nie mogę znaleźć przyczyny tego dziwu. Na wszelki wypadek podrzucę jeszcze sam formularz:

  1. <FORM name="login" action=login.php>
  2. <INPUT class=input style="WIDTH: 107px" maxLength=60 value=username name=user_name>
  3. <INPUT style="WIDTH: 107px;" NAME="pass" class=input type="password" width="182" value="password">
  4. <INPUT TYPE="SUBMIT" VALUE="enter" class=button style="WIDTH: 49px;" align=right>
  5. <INPUT TYPE="reset" VALUE="reset" class=button style="WIDTH: 49px;">
  6. </form>


Pozdrawiam i z góry dziękuję za pomoc.

EDITED::

No tak... O jedno = za dużo i złe porównanie...

  1. <?php
  2. SELECT * FROM users WHERE nick='$user_nick'
  3. ?>


------------------------------------------------------------------------------------------------

Ale cały czas nie chce mi wstawić sesji ani przekierować sad.gif.
johnson
Pierwsze primo: w SQL porównujemy pojedynczym '='.
Drugie primo: stringi w zapytaniu SQL bierzemy w apostrofy.

Reasumując Twoje zapytanie powinno wyglądać tak:
  1. <?php
  2. $wykonaj = mysql_query(&#092;"SELECT * FROM users WHERE nick='\".$_POST['user_name'].\"'\");
  3. ?>


Dodatkowo jeszcze użyłem tablicy superglobalnej $_POST - bo tak wypada winksmiley.jpg
Zmieniłem jeszcze kolejność w zapytaniu na pole=zmienna - bo tak lubię winksmiley.jpg

Dodatkowo Twój znacznik <form> powinien wyglądać tak:
  1. <FORM name="login" action="login.php" method="post">

bo defaultową metodą przesyłania formularza jest GET, a przy logowaniu GET raczej nie przystoi winksmiley.jpg
warliker
Zrobiłem jak powiedziałeś, ale jak wcześniej wspomniałem to ciągle mi nie zapisuje nic do sesji o przekierowaniu już nie wspominając sad.gif
strife
A przepraszam czy przekierowanie nie powinno wyglądać tak:

  1. <?php
  2.  
  3. header(&#092;"Location: index.php\");
  4.  
  5. ?>


header" title="Zobacz w manualu PHP" target="_manual
johnson
Tak jak kolega napisał musi być:
  1. <?php
  2. header(&#092;"Location: index.php\");
  3. ?>


a co do sesji to radzę sprawdzić czy na stronie 'index.php' jest session_start();
warliker
Działa smile.gif

Źle przekierowanie było. Dzięki smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.