Witam piszę sobie własną stronkę wszystko działa poprawnie lecz stanąłem na tym gdy jako użytkownik chcę zmienić swoje hasło skrypt jakbym nie update'ował danych podczas zmiany. Podczas zmiany hasła wyskakuje że mam wpisać ponownie swoje obecne hasło. Może przeoczyłem jakiś błąd nie wiem. Proszę o pomoc.
<form action="haslo.php" name="zmien_haslo" method="post"> <td><input maxlength="16" type="password" name="shaslo" /></td> <td class="podpowiedz">Wpisz swoje obecne hasło
</td> <td><input maxlength="16" type="password" name="nhaslo" /></td> <td class="podpowiedz">Min. 6 znaków max. 16 znaków
</td> <td><input maxlength="16" type="password" name="nhaslo2" /></td> <td class="podpowiedz">Wpisz ponownie nowe hasło
</td> <td align="right" colspan="2"><input type="submit" name="zmien_haslo" value="Zmień" /></td>
<?php
if(isSet($_POST['zmien_haslo'])){ if(isSet($_POST['shaslo'])){ $shaslo = md5($_POST['shaslo']); $nhaslo = md5($_POST['nhaslo']); }
else{
$haslo = '';
$shaslo = '';
$nhaslo = '';
}
if(empty($_POST['shaslo']) || empty($_POST['nhaslo']) || empty($_POST['nhaslo2'])){ echo "Musisz wypełnić wszystkie pola! Zrobisz to <a href='java script:history.go(-1)'>powracając</a>."; }
else if($shaslo !== $haslo['haslo']) {
echo "Wpisz poprawnie swoje obecne hasło! Zrobisz to <a href='java script:history.go(-1)'>powracając</a>."; }
else if($_POST['nhaslo'] !== $_POST['nhaslo2']){
echo "Wpisałeś dwie inne propozycje nowego hasła. <a href='java script:history.go(-1)'>Wróć</a> i popraw ten błąd."; }
else if(strlen($_POST['nhaslo']) < 6
|| strlen($_POST['nhaslo2']) < 6
){ echo "Twoje nowe hasło musi zawierać minimum 6 znaków! <a href='java script:history.go(-1)'>Wróć</a> i popraw ten błąd."; }
else if($_POST['shaslo'] === $_POST['nhaslo']){
echo "Próbujesz zmienić hasło na takie same! <a href='java script:history.go(-1)'>Wróć</a> i zmień je."; }
else {
mysql_query("UPDATE user SET haslo='$nhaslo' WHERE user='$user' "); echo "Twoje hasło zostało pomyślnie zmienione. <a href='index.php'>Powrót</a> do strony logowania."; }
}
Problem rozwiązany. Nikt z was w tym ja nie zauważył tego, że jak zaczyna się działanie skryptu to nie podałem przed nim $user = $_SESSION['zmiana'];