Mam mały problem z zalogowaniem użytkownika. A mianowicie po rejestracji użytkownika i zapisaniu w bazie danych hasła próbuje zalogować tego samego użytkownika ale niestety kod nie znajduje go w bazie - sprawdziłem i problem jest w pobieraniu hasła i porównywaniu go.
Pole hasła w tabeli :
$query.="user_password VARCHAR(16) BINARY NOT NULL,";
Rejestracja użytkownika poprzez mysql :
function InsertRecord($TableName, $Record ) { if(!mysql_query("INSERT INTO $TableName VALUES ($Record)")) die('Błąd w funkcji InsertRecord : '. mysql_error()); //else echo "- Dodano rekord do tabeli : \"$TableName\".<br>"; } $Baza->InsertRecord('user', "NULL, '$user_email', password('$user_pass'), '$user_name', '$user_country', '$user_profile', now(), curdate()");
Logowanie użytkownika :
{ { include_once("ClassBazaMySQL.inc.php"); include_once("mysqlbaseinfo.php"); $Baza = new BazaMySQL(); $link_id = db_connect();//Baza->Connect(); // Łączenie się z bazą danych. //$dbc = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); // Pobieranie danych logowania wpisanych przez użytkownika. { // Wyszukiwanie nazwy użytkownika i hasła w bazie danych. $query = "SELECT user_id, user_name, user_password FROM user WHERE user_name = '$user_name' AND user_password = password('$user_password')"; if($test == 1) { // Dane logowania są poprawne, dlatego należy ustawić zmienne (i pliki cookie) sesji z // identyfikatorem i nazwą użytkownika, a następnie przejść do strony głównej. $_SESSION['user_id'] = $row['user_id']; $_SESSION['user_name'] = $row['user_name']; }else{ $error_msg = '1 : Musisz podać poprawną parę nazwa - hasło, aby się zalogować.'; }; }else{ $error_msg = '2 : Musisz podać parę nazwa - hasło, aby się zalogować.'; }; } }
Wszystko ładnie tylko nie wiem czemu nie chce znaleźć takiego samego użytkownika. Próbowałem już nawet zapisać hasło poprzez SHA w mysql ale ten sam efekt.
Możecie mi powiedzieć co źle robię i jak to poprawić ? Będę bardzo wdzięczny.
Znalazłem błąd - pole hasła miało tylko 16 miejsc a powinno wiecej bo kodowane sha potrzebuje 40 miejsc na haslo.

Można zamknąć lub usunąć
