Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie rekordów do bazy z PHP, nie działa hasło
Forum PHP.pl > Forum > Bazy danych > MySQL
WladekSlawek
Witam, mam taki problem. Otóż utworzyłem skrypt który dodaje rekord do bazy i to działa, natomiast hasło kodowane jest w MD5, pomimo wszystko przy logowaniu to nie działa.

Formularz
Kod
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-Language" content="pl">
<meta NAME="Language" CONTENT="polish">
<title>Rejestracja</title>
</head>
<form method="POST" action="dodawanie.php">
<p><strong>Zarejestruj się: </strong></p>
Id:<p><input type="text" name="idklient" size="30" maxlength="40"></p>
Imię:<p><input type="text" name="imieklient" size="30" maxlength="40"></p>
Nazwisko:<p><input type="text" name="nazwiskoklient" size="30" maxlength="40"></p>
Telefon:<p><input type="text" name="telefonklient" size="30" maxlength="40"></p>
Adres:<p><input type="text" name="adresklient" size="30" maxlength="40"></p>
Hasło:<p><input type="text" name="hasloklient" size="30" maxlength="40"></p>
<input type="submit" value="Wyślij">
</form>
</html>


Plik wykonujący (*.php)
Kod
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-Language" content="pl">
<meta NAME="Language" CONTENT="polish">
<title>Rejestracja udana</title>
</head>
</html>

<?
$idklient=$_POST['idklient'];
$imieklient=$_POST['imieklient'];
$nazwiskoklient=$_POST['nazwiskoklient'];
$telefonklient=$_POST['telefonklient'];
$adresklient=$_POST['adresklient'];
$hasloklient=$_POST['hasloklient'];
include("config.php");
mysql_connect ("localhost", "$nazwa", "$haslo") or
die ("Problem z serwerem bazy danych. Nie można się połączyć.");
mysql_select_db ("ssukiennik") or
die ("Problem z bazą danych. Nie można się połączyć.");
$zadanie = "INSERT INTO `klienci` (`id_klient`, `imie_klient`, `nazwisko_klient`, `telefon_klient`, `adres_klient`, `haslo_klient`) VALUES ('" . mysql_escape_string($idklient) . "', '" . mysql_escape_string($imieklient) . "', '" . mysql_escape_string($nazwiskoklient) . "', '" . mysql_escape_string($telefonklient) . "','" . mysql_escape_string($adresklient) . "', '" . MD5( `$hasloklient` ) . "')";
$wykonaj = mysql_query ($zadanie);
if ($wykonaj) {
echo "Dane ID :$idklient <br> Imie : $imieklient <br> Nazwisko: $nazwiskoklient <br> Telefon: $telefonklient <br>Adres : $adresklient <br> Hasło: $hasloklient zostały dodane ";
} else {
echo "Problem konta.";
}
echo mysql_error();
?>
Ilware
wyświetl sobie zapytanie jakie się tworzy i spróbuj wykonać w phpmyadmin na bazie.

  1. echo $zadanie;


i wynik wklej do phpmyadmin.

Jakie pole masz na bazie?Jakiego typu i długości?
WladekSlawek
Wynik działa tego echo
Kod
INSERT INTO `klienci` (`id_klient`, `imie_klient`, `nazwisko_klient`, `telefon_klient`, `adres_klient`, `haslo_klient`) VALUES ('k2', 'Imieproba', 'nazwisko', '2424242','422442', 'd41d8cd98f00b204e9800998ecf8427e')


Hasło dałem : bbb

Wkleiłem w PHPMyAdmin i generalnie nie zmieniło mi tego
Funkcja powinna mieć MD5

Typ varchar
Długość 32
Ilware
Cytat
Wkleiłem w PHPMyAdmin i generalnie nie zmieniło mi tego


czego Ci nie zmieniło?
WladekSlawek
Powinno być ustawione MD5 ale nie ma
Tak jak na obrazku
gino
Cytat(WladekSlawek @ 28.05.2011, 09:42:59 ) *
Powinno być ustawione MD5 ale nie ma
Tak jak na obrazku


questionmark.gif? A jak Ci ma wyświetlić według Ciebie ? To masz zobrazowanie w phpmyadmin kiedy insertujesz z jego poziomu, Twój insert do bazy wstawił Ci dobrze, to jest zakodowane 'bbb' w MD5. Przy logowaniu masz coś skopane, powinno być

  1. haslo_klient = MD5( 'bbb' )


gino
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.