Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Instrukcja IF
bamboo
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 14.02.2008
Skąd: Głowno

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


Mam tabele z użytkownikami, w formularzu wpisuje sie nick i haslo które są przesyłane do następnej strony, na tej stronie wykonywane jest zapytanie o rekord
  1. WHERE `nick` = '$nick' AND `pass` = '$pass'

zmiennymi są dane wpisane na poprzedniej stronie w formularzu...
no i co dalej, jak sprawdzić czy takie dane istnieją/pasują do siebie?
wygląda to tak:
  1. <?php
  2. $nick = $_POST['login1'];
  3. $pass = $_POST['haslo1'];
  4. $wynik = mysql_query("SELECT * FROM `users` WHERE `nick` = '$nick' AND `pass` = '$pass'")
  5. or die('Błąd zapytania'.mysql_error().'');
  6. ?>

jak powinien wyglądać warunek w instrukcji IF aby w momencie gdy dane byłyby prawidłowe wyświetliło sie np. "jesteś zalogowany", reszte jestem w stanie sam sobie zrobić, potrzebuje tylko ten warunek...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
nowotny
post
Post #2





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


mysql_num_rows" title="Zobacz w manualu PHP" target="_manual...
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #3





Goście







Ja tam zawsze robię zapytanie, gdzie wyciągam hasło dla loginu który jest podany i sprawdzam potem już w php z hasłem, jeśli ok to "logujesz".
Go to the top of the page
+Quote Post
webdice
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  1. SELECT COUNT(`id`) AS `count` FROM `users` WHERE `nick` = 'webdicepl' AND `password` = 'haslo'


a później:

  1. <?php
  2. $field = mysql_fetch_assoc ($query)
  3.  
  4. if ($field['count'] == 0)
  5. {
  6. print 'użytkownika nie istnieje';
  7. }
  8. else if ($field['count'] == 1)
  9. {
  10. print 'użytkownika istnieje';
  11. }
  12. ?>
Go to the top of the page
+Quote Post
bamboo
post
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 14.02.2008
Skąd: Głowno

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


webdicepl, wyskakuje błąd:
Parse error: parse error, unexpected T_IF in **** on line **

wydaje mi sie ze używając mysql_num_rows() bedzie łatwiej...

Ten post edytował bamboo 17.02.2008, 13:59:25
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #6





Goście







Tam się chyba mały błąd wkradł. Analizowanie błędu to nic trudnego, wystarczy chcieć.

  1. <?php
  2. else if ($field['count'] == 1)
  3. {
  4. print 'użytkownika istnieje';
  5. }
  6. ?>


Zamień na:

  1. <?php
  2. elseif ($field['count'] == 1)
  3. {
  4. print 'użytkownika istnieje';
  5. }
  6. ?>


@nowotny - słusznie, użytkownik bamboo "ułatwił" sprawę wstawiając gwiazdki zamiast numeru linii ;D

Ten post edytował Wieviór 17.02.2008, 14:06:23
Go to the top of the page
+Quote Post
nowotny
post
Post #7





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Cytat(Wieviór @ 17.02.2008, 14:01:16 ) *
Tam się chyba mały błąd wkradł.

Owszem... ale nie w tym miejscu... (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Brakowało średnika... kopiować też trzeba z głową... (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
  1. <?php
  2. $field = mysql_fetch_assoc ($query);
  3. ?>


Cytat(Wieviór @ 17.02.2008, 14:01:16 ) *
Analizowanie błędu to nic trudnego, wystarczy chcieć.

No właśnie... ;D

Ten post edytował nowotny 17.02.2008, 14:06:52
Go to the top of the page
+Quote Post
bamboo
post
Post #8





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 14.02.2008
Skąd: Głowno

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


a nie łatwiej tak:
  1. <?php
  2. $num_rows = mysql_num_rows($wynik);
  3. if($num_rows == 1) {
  4. echo 'użytkownik zalogowany';
  5. }
  6. else {
  7. echo 'użytkownik nieistnieje, lub podano złe hasło';
  8. }
  9. ?>

bardziej przerzyste i proste (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
-Wieviór-
post
Post #9





Goście







Masz pretensje, że Ci się staramy pomóc w różny sposób? Dziękuję za takie podziękowanie.
Go to the top of the page
+Quote Post
bamboo
post
Post #10





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 14.02.2008
Skąd: Głowno

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


o właśnie i zapomniałem podziękować... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) wiem ze sie staracie pomóc, ale poprostu spytałem sie po co tak komplikować jak można zrobić to tak łatwo, ja poprostu nie jestem w stanie pamiętać wszystkich funkcji bo zabawe z mysqlem zacząłem od niedawna... a w kodzie webdicepla niezabardzo cokolwiek rozumiem... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) i niemam żadnych pretensji zeby niebyło (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) jeszcze raz dzieki za pomoc...
Go to the top of the page
+Quote Post
webdice
post
Post #11


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Cytat(bamboo @ 17.02.2008, 13:58:53 ) *
webdicepl, wyskakuje błąd:
Parse error: parse error, unexpected T_IF in **** on line **

wydaje mi sie ze używając mysql_num_rows() bedzie łatwiej...


Pisane z palca, zapomniałem średnika, ale takie rzeczy powinieneś już wiedzieć.


Cytat(bamboo @ 17.02.2008, 14:12:39 ) *
(...) wiem ze sie staracie pomóc, ale poprostu spytałem sie po co tak komplikować jak można zrobić to tak łatwo (...)


Po co kombinować? Po to żeby zyskać czas. Po pierwsze mysql_num_rows" title="Zobacz w manualu PHP" target="_manual jest mało wydajne, a po drugie np. w PDO już nie ma takiej funkcji.

Ten post edytował webdicepl 17.02.2008, 15:24:01
Go to the top of the page
+Quote Post
specialplan
post
Post #12





Grupa: Zarejestrowani
Postów: 206
Pomógł: 21
Dołączył: 1.09.2006
Skąd: Edinburgh

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


@wiewioor

"else if" oraz "elseif" to jedno i to samo.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 20:37