Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zmiana hasła skrypt php problem z upadate'em
Forum PHP.pl > Forum > PHP
nikestylex7
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.

  1. <form action="haslo.php" name="zmien_haslo" method="post">
  2. <tr>
  3. <td>Stare hasło</td>
  4. <td><input maxlength="16" type="password" name="shaslo" /></td>
  5. <td class="podpowiedz">Wpisz swoje obecne hasło</td>
  6. </tr>
  7. <tr>
  8. <td>Nowe hasło</td>
  9. <td><input maxlength="16" type="password" name="nhaslo" /></td>
  10. <td class="podpowiedz">Min. 6 znaków max. 16 znaków</td>
  11. </tr>
  12. <tr>
  13. <td>&nbsp;</td>
  14. <td><input maxlength="16" type="password" name="nhaslo2" /></td>
  15. <td class="podpowiedz">Wpisz ponownie nowe hasło</td>
  16. </tr>
  17. <tr>
  18. <td align="right" colspan="2"><input type="submit" name="zmien_haslo" value="Zmień" /></td>
  19. <td>&nbsp;</td>
  20. </tr>
  21. </table>
  22. </form>

  1. <?php
  2. $haslo = mysql_fetch_array(mysql_query("SELECT haslo FROM user WHERE user='$user' "));
  3. if(isSet($_POST['zmien_haslo'])){
  4. if(isSet($_POST['shaslo'])){
  5. $shaslo = md5($_POST['shaslo']);
  6. $nhaslo = md5($_POST['nhaslo']);
  7. }
  8. else{
  9. $haslo = '';
  10. $shaslo = '';
  11. $nhaslo = '';
  12. }
  13. if(empty($_POST['shaslo']) || empty($_POST['nhaslo']) || empty($_POST['nhaslo2'])){
  14. echo "Musisz wypełnić wszystkie pola! Zrobisz to <a href='java script:history.go(-1)'>powracając</a>.";
  15. }
  16. else if($shaslo !== $haslo['haslo']) {
  17. echo "Wpisz poprawnie swoje obecne hasło! Zrobisz to <a href='java script:history.go(-1)'>powracając</a>.";
  18. }
  19. else if($_POST['nhaslo'] !== $_POST['nhaslo2']){
  20. echo "Wpisałeś dwie inne propozycje nowego hasła. <a href='java script:history.go(-1)'>Wróć</a> i popraw ten błąd.";
  21. }
  22. else if(strlen($_POST['nhaslo']) < 6 || strlen($_POST['nhaslo2']) < 6){
  23. 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.";
  24. }
  25. else if($_POST['shaslo'] === $_POST['nhaslo']){
  26. echo "Próbujesz zmienić hasło na takie same! <a href='java script:history.go(-1)'>Wróć</a> i zmień je.";
  27. }
  28. else {
  29. mysql_query("UPDATE user SET haslo='$nhaslo' WHERE user='$user' ");
  30. echo "Twoje hasło zostało pomyślnie zmienione. <a href='index.php'>Powrót</a> do strony logowania.";
  31. }
  32. }


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']; smile.gif
nospor
Cytat
Nikt z was w tym ja nie zauważył tego

1) A skad ci przyszło do głowy że ktoś tu w ogóle zaglądał?
2) Nawet jeśli ktoś zaglądał, to niby skąd ludzie mieli wiedzieć, że pokazałes caly kod? Równie dobrze to przypisanie mogło być wyżej w kodzie, którego nie pokazałeś.
3) Zapoznaj się z tematem:
Temat: Jak poprawnie zada pytanie
to tak głupie błędy wychwycisz w 10 sekund bez konieczności zaśmiecania forum
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.