Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czemu to nie chodzi ? :(
warliker
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 18.01.2005

Ostrzeżenie: (0%)
-----


  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.

Ten post edytował warliker 26.02.2005, 21:31:56
Go to the top of the page
+Quote Post
johnson
post
Post #2





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 3.12.2004

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
warliker
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 18.01.2005

Ostrzeżenie: (0%)
-----


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

Ten post edytował warliker 26.02.2005, 21:34:43
Go to the top of the page
+Quote Post
strife
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


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

Ten post edytował scarface 26.02.2005, 21:59:19


--------------------
Go to the top of the page
+Quote Post
johnson
post
Post #5





Grupa: Zarejestrowani
Postów: 90
Pomógł: 2
Dołączył: 3.12.2004

Ostrzeżenie: (0%)
-----


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();
Go to the top of the page
+Quote Post
warliker
post
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 18.01.2005

Ostrzeżenie: (0%)
-----


Działa smile.gif

Źle przekierowanie było. Dzięki smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 08:00