Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP+MYSQL] Logowanie
Forum PHP.pl > Forum > Przedszkole
Diabelek
Witam


Mam problem jesli chodzi o logowanie. W bazie MYSQL hasla zakodowane są przez PASSWORD. Jest sobie taki kod:
Kod
$nazwa='administrator';
$haslo='jakieshaslo';

$sql="SELECT * FROM `uzytkownicy` WHERE `nazwa`=\"$nazwa\" AND `haslo`=PASSWORD(\"$haslo\")";



to sprawdzenie nie dziala ...
probowałem też wpisać tak:
Kod
$sql="SELECT * FROM `uzytkownicy` WHERE `nazwa`='".$nazwa."' AND `haslo`=PASSWORD('".$haslo."')";


ten wpis takze nie dziala ...
testowalem tez taki
Kod
$sql="SELECT * FROM uzytkownicy WHERE `haslo`=PASSWORD(\"$haslo\")";

$sql="SELECT * FROM uzytkownicy WHERE `haslo`=PASSWORD('".$haslo."')";


czyli ogolnie chyba wszystkie warianty ... oczywiscie nie zapomnialem po kazdym poleceniu wpisania mysql_query($sql) or die(mysql_error());

w obecnej chwili sprawdzenie logowania rozwiazalem w taki sposób, że tworze nową tabele:

Kod
         $sql = "INSERT INTO `haslo_spr` ( `haslo` ) "
        . " VALUES ( PASSWORD( \"$haslo\" ) )";


potem sobie porownuje to wpisane tymczasowo haslo do bazy, ale to jest troche dziwna metoda i bardzo mi sie nie podoba.

Moze ktos pomoc ? smile.gif

pozdrawiam
stoprocent
  1. <?php
  2.  
  3. $sql=&#092;"SELECT * FROM uzytkownicy WHERE nazwa='\".$nazwa.\"' AND haslo=PASSWORD('\".$haslo.\"')\";
  4.  
  5. ?>
Diabelek
Cytat(nasto @ 2004-06-21 11:06:19)
  1. <?php
  2.  
  3. $sql=&#092;"SELECT * FROM uzytkownicy WHERE nazwa='\".$nazwa.\"' AND haslo=PASSWORD('\".$haslo.\"')\";
  4.  
  5. ?>

bardzo chciałbym napisać, że mi to działa, ale jednak nie ... Sprawdzam to w ten sposób

Kod
$sql="SELECT * FROM uzytkownicy WHERE nazwa='".$nazwa."' AND haslo=PASSWORD('".$haslo."')";
$uzytkownik=mysql_query($sql) or die(mysql_error());

if (mysql_numrows($uzytkownik)) echo mysql_result($uzytkownik,0,"nazwa");


lub bez if'a ...


acha jak zlikwiduje linijke z haslem to dziala : )
stoprocent
  1. <?
  2. $wyszukaj = mysql_query(&#092;"SELECT * FROM \".$tableusers.\" WHERE login='\".$login.\"' AND pass=password('\".$pass.\"')\");
  3.  
  4. $wynikow = mysql_num_rows($wyszukaj);
  5. if($wynikow == 1) {
  6. //Poprawne logowanie
  7.  
  8. }
  9. ?>


Ja osobiscie robie to tak sprobuj i moze zadziala , albo nie tu jest blad .

Moze to przez to ze masz

  1. <?php
  2.  
  3. if (mysql_numrows($uzytkownik)) echo mysql_result($uzytkownik,0,&#092;"nazwa\");
  4. //a powinno byc mysql_num_rows
  5.  
  6. ?>
Diabelek
Cytat(nasto @ 2004-06-21 12:50:50)
  1. <?
  2. $wyszukaj = mysql_query(&#092;\"SELECT * FROM \".$tableusers.\" WHERE login='\".$login.\"' AND pass=password('\".$pass.\"')\");
  3.  
  4. $wynikow = mysql_num_rows($wyszukaj);
  5. if($wynikow == 1) {
  6. //Poprawne logowanie
  7.  
  8. }
  9. ?>


Ja osobiscie robie to tak sprobuj i moze zadziala , albo nie tu jest blad .

Moze to przez to ze masz

  1. <?php
  2.  
  3. if (mysql_numrows($uzytkownik)) echo mysql_result($uzytkownik,0,&#092;\"nazwa\");
  4. //a powinno byc mysql_num_rows
  5.  
  6. ?>

Twoja wersja takze nie działa u mnie, więc nie rozumiem juz nic z tego ohmy.gif...


pole login zmienilem na swoje czyli - nazwa i pass na - haslo, a zmiennym $login przydzielam zmienne, ktore otrzymuja wartosci ...

Kod
$tableusers="uzytkownicy";
$login=$nazwa;
$pass=$haslo;

$wyszukaj = mysql_query("SELECT * FROM ".$tableusers." WHERE nazwa='".$login."' AND haslo=password('".$pass."')");

$wynikow = mysql_num_rows($wyszukaj);
if($wynikow == 1) {
//Poprawne logowanie
echo "logowanie udane";
}


no i nie wiem co jest grane bo to nie dziala : ) juz nie wiem co źle robie, ale zostane przy starym sposobie ...

z mysql_num_rows, jest to samo ... w ogóle tak jakby nie używał funkcji password ohmy.gif
stoprocent
A w bazie masz zapisane hasla z uzyciem password questionmark.gif?
Diabelek
Cytat(nasto @ 2004-06-21 13:58:42)
A w bazie masz zapisane hasla z uzyciem password questionmark.gif?

tak:) no juz bez przesady taki noob to ja nie jestem : ) mowie, ze korzystam z innej drogi do sprwadzenia hasla zapisanego passwordem : )
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.