Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie
Forum PHP.pl > Forum > Bazy danych > MySQL
palmaero
mam dosyc latwy (ale niestety nie dla mnie sad.gif) do rozwiazania problem

otuz mam w bazie login i zakodowane (funkcja PASSWORD w phpMyAdmin)

1. co zrobic aby skrypt sprawdzil czy login znajduje sie w bazie??
2. jezeli login znajduje sie w bazie co zrobic aby sprawdzilo czy haslo zgadza sie??
Jabol
Kod
[...] WHERE PASSWORD($given_login) = stored_login AND PASSWORD($givenpassword) = stored_password;
a potem affected_rows. Jeżeli się nie zgadza możesz jeszcze potem sprawdzić jeszcze, czy tylko hasło było złe (próba włamania) czy wszystko było źle (ktoś się bawi albo zrobił literówke)
palmaero
hhhmmmm... a wiec tak
mam kod:
[php:1:e53d176753]<?php
$mysql=mysql_connect("localhost","admin","haslo")
or die ("Nie mozna polaczyc z baza danych!!! Jesli blad sie powtorzy skontaktuj sie z <A HREF=mailto:palmaero@click-games.net>Administratorem</A>");
mysql_select_db("phpp_forum");
$pobierz="SELECT user_haslo FROM phpp_user WHERE user_login = '$login' && user_haslo = PASSWORD($haslo)";
$wykonaj=mysql_query("$pobierz");
$table=mysql_affected_rows($mysql);
if($wykonaj=TRUE)
{
setcookie("check","1");
setcookie("login","$login");
setcookie("haslo","$haslo");
echo("ZOSTALES ZALOGOWANY POPRAWNIE!<BR>");
}
else
{
echo("Blad Logowania!");
}
?>[/php:1:e53d176753]

i po wpisaniu loginu i hasla dziala... najgorsze jest to ze dziala rowniez jak login nie istnieje smile.gif ani haslo nie jest poprawne

zrozumcie
ja z mysql-em pierwszy dzien, przedtem dzialalem na plikach tekstowych tongue.gif
Jabol
[php:1:0a929736ce]<?php
$mysql=mysql_connect("localhost","admin","haslo")
or die ("Nie mozna polaczyc z baza danych!!! Jesli blad sie powtorzy skontaktuj sie z <A HREF=mailto:palmaero@click-games.net>Administratorem</A>");
mysql_select_db("phpp_forum");
$pobierz="SELECT user_haslo FROM phpp_user WHERE user_login = '".$login."' && user_haslo = PASSWORD('".$haslo."')";//tutaj nie powinno czasem byc add_slashes?
$wykonaj=mysql_query( $pobierz, $mysql );//osobiscie prefruje nie tworzenie nowych zmiennych dla przechowania sql query
$table=mysql_num_rows( $wykonaj );//ta funckja bedzie tutaj lepsza, sory za mieszanie
if( $table === 1 )//ewentualnie ==, ale boże, przecież nie =
{
setcookie("check","1");
setcookie("login","$login");
setcookie("haslo","$haslo");
echo("ZOSTALES ZALOGOWANY POPRAWNIE!<BR>");
}
else
{
echo("Blad Logowania!");
}
?>[/php:1:0a929736ce]
palmaero
Warning: Supplied argument is not a valid MySQL result resource in c:apachehtdocsforumsqllogin.php on line 21
Jabol
hmm... a spróbuj dać zamiast && AND
spenalzo
Napisz w której linii tego przykładu jest błąd a nie numerze linii skryptu.
palmaero
linia 21: $table=mysql_num_rows( $wykonaj );
palmaero
dziala biggrin.gif

poprawny kod:
[php:1:3a618b1542]<?php
$mysql=mysql_pconnect("localhost", "admin", "mojetajnehaslo")
or die ("Nie mozna polaczyc z baza danych!!! Jesli blad sie powtorzy skontaktuj sie z <A HREF=mailto:palmaero@click-games.net>Administratorem</A>");
mysql_select_db("phpp_forum");
$pobierz="SELECT user_haslo FROM phpp_user WHERE user_login = '$login' AND user_haslo = PASSWORD('$haslo')";
$wykonaj=mysql_query($pobierz, $mysql);
$table=mysql_num_rows($wykonaj);
if($table=="1")
{
setcookie("check", "1");
setcookie("login", "$login");
setcookie("haslo", "$haslo");
echo("ZOSTALES ZALOGOWANY POPRAWNIE!<BR>");
}
else
{
echo("Blad Logowania!");
}
?>[/php:1:3a618b1542]
Fo
@palmero : co do twojego logowania to chcialbym wtracic ze zamiast ciastek, zastosuj mechanizm sesji, nie jest on trudny w obeznaniu - wszystko znalezc mozesz na forum a z ciachami jest taka sprawa ze nie kazdy je akceptuje, wiec twoje logowanie u nie ktorych moze nie dzialac poprawnie, a raczej nie tak jak ty bys sobie tego zyczyl... :wink:
palmaero
ja o sesjach pojecia nie mam... ktos rzuci jakims linkiem do topiku na ten temat smile.gif
Jabol
Cytat
ja o sesjach pojecia nie mam... ktos rzuci jakims linkiem do topiku na ten temat smile.gif
Tutaj link w którym jest wszystko.
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.