Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Formularz zmiany hasła, Proszę o pomoc, pilne...
peja1990
post 27.01.2011, 05:59:29
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

Ostrzeżenie: (10%)
X----


PRZY OKAZJI PRZYJMĘ PROGRAMISTĘ NA STANOWISKO W FIRMIE (praca zdalna).
Więcej szczegółów:
e-Mail: info@creovision.pl
GG: 16103645

________________________________________________________________________________

Witam.
Napisałem skrypt mający za zadanie edytować hasło zapisane w bazie danych zahaszowane md5.
Formularz zbudowany jest z 3 inputów:
1) Stare hasło
2) Nowe hasło
3) Powtórz nowe hasło

Chodzi o to, aby po wpisaniu starego hasła, system sprawdził czy hasło zgadza się z już istniejącym w bazie, a po wpisaniu nowego hasła należałoby powtórzyć je w trzecim polu i porównać.

Przedstawiam kodzik:
  1. <?
  2. if(empty($_SESSION['klient'])) {
  3. <div id="warning_box">
  4. <div id="warning_ebu"></div>
  5. <div id="warning_box2">
  6. <div id="warning_box3">
  7. <span id="warning_icon"></span>
  8. <span id="warning_nav">Wystąpił błąd</span>
  9. </div>
  10. <div id="warning_nav2">
  11. Musisz się zalogować aby edytować hasło.
  12. </div>
  13. </div>
  14. <div id="warning_ebd"></div>
  15. </div>';
  16. require 'logowanie.php';
  17. } else {
  18.  
  19. $bledy = array();
  20. if($_POST['zmiana_hasla']) {
  21.  
  22. $haslo = mysql_fetch_array(mysql_query("SELECT haslo FROM baza WHERE id='{$zalogowany_id}'"));
  23.  
  24.  
  25. if(empty($bledy)) {
  26. mysql_query("UPDATE baza SET haslo='{$nowe_haslo}'");
  27. $dane = mysql_fetch_array(mysql_query("SELECT id FROM baza WHERE id='{$zalogowany_id}'"));
  28. echo '
  29. <div id="info_box">
  30. <div id="info_ibu"></div>
  31. <div id="info_box2">
  32. <div id="info_box3">
  33. <span id="info_icon"></span>
  34. <span id="info_nav">Informacja</span>
  35. </div>
  36. <div id="info_nav2">
  37. Hasło dla konta o numerze ID: <b>'.$dane['id'].'</b>, zostało pomyślnie zaktualizowane.<br />
  38. Nowe hasło zostało wysłane na Twój adres e-Mail.<br />
  39. Zaloguj się ponownie na swoje konto, korzystając z nowego hasła.
  40. </div>
  41. </div>
  42. <div id="info_ibd"></div>
  43. </div>';
  44. require 'logowanie.php';
  45. } else {
  46. echo '
  47. <div id="warning_box">
  48. <div id="warning_ebu"></div>
  49. <div id="warning_box2">
  50. <div id="warning_box3">
  51. <span id="warning_icon"></span>
  52. <span id="warning_nav">Wystąpił błąd</span>
  53. </div>
  54. <div id="warning_nav2">
  55. Wystąpił co najmniej jeden błąd podczas rejestracji.<br />
  56. Popraw dane i spróbuj ponownie.
  57. </div>
  58. </div>
  59. <div id="warning_ebd"></div>
  60. </div>';
  61. ?>
  62.  
  63. <form method="POST" action="index.php?p=zmiana_hasla">
  64.  
  65. <div class="panel_box1">
  66. <div class="panel_box2">
  67.  
  68. <!-- Blok -->
  69. <div class="panel_box5">
  70. <div class="panel_ppbu"></div>
  71. <div class="panel_box6">
  72. <span class="panel_nav1">Zmiana hasła</span><br />
  73.  
  74.  
  75. <div class="panel_box7">
  76. <span class="panel_nav22">Stare hasło</span>
  77. <span class="panel_nav22">Proponowane nowe hasło</span>
  78. </div>
  79.  
  80. <div class="panel_box13">
  81. <span class="panel_nav24"><input type="password" class="panel_text" name="stare_haslo" value="<?php echo isset($_POST['stare_haslo'])?$_POST['stare_haslo']:''; ?>" /></span>
  82. <span class="panel_nav24"><input type="password" class="panel_text" name="nowe_haslo" value="<?php echo isset($_POST['nowe_haslo'])?$_POST['nowe_haslo']:''; ?>" /></span>
  83.  
  84.  
  85.  
  86.  
  87. </div>
  88.  
  89. <div class="panel_box7">
  90. <span class="panel_nav22">UWAGA!</span>
  91. <span class="panel_nav22">Powtórka nowego hasła</span>
  92. </div>
  93.  
  94. <div class="panel_box13">
  95. <span class="panel_nav24"><span class="panel_nav41">Nowe hasło zacznie funkcjonować natychmiast!</span></span>
  96. <span class="panel_nav24"><input type="password" class="panel_text" name="nowe_haslo2" value="<?php echo isset($_POST['nowe_haslo2'])?$_POST['nowe_haslo2']:''; ?>" /></span>
  97.  
  98. </div>
  99.  
  100.  
  101. </div>
  102. <div class="panel_ppbd"></div>
  103. </div>
  104. <!-- KONIEC / Blok -->
  105.  
  106. <div class="panel_box11">
  107. <div class="panel_nav26">
  108. <input type="submit" value="Zapisz" class="panel_button" name="zmiana_hasla">
  109. <input type="reset" value="Zrezygnuj" class="panel_button">
  110. </div>
  111. </div>
  112.  
  113. </div>
  114. <div class="panel_pbd"></div>
  115. </div>
  116. </form>
  117. <?
  118. }
  119. } else {
  120. ?>
  121.  
  122. <form method="POST" action="index.php?p=zmiana_hasla">
  123.  
  124. <div class="panel_box1">
  125. <div class="panel_box2">
  126.  
  127.  
  128. <!-- Blok -->
  129. <div class="panel_box5">
  130. <div class="panel_ppbu"></div>
  131. <div class="panel_box6">
  132. <span class="panel_nav1">Zmiana hasła</span><br />
  133.  
  134.  
  135. <div class="panel_box7">
  136. <span class="panel_nav22">Stare hasło</span>
  137. <span class="panel_nav22">Proponowane nowe hasło</span>
  138. </div>
  139.  
  140. <div class="panel_box13">
  141. <span class="panel_nav24"><input type="password" class="panel_text" name="stare_haslo" value="<?php echo isset($_POST['stare_haslo'])?$_POST['stare_haslo']:''; ?>" /></span>
  142. <span class="panel_nav24"><input type="password" class="panel_text" name="nowe_haslo" value="<?php echo isset($_POST['nowe_haslo'])?$_POST['nowe_haslo']:''; ?>" /></span>
  143. </div>
  144.  
  145. <div class="panel_box7">
  146. <span class="panel_nav22">UWAGA!</span>
  147. <span class="panel_nav22">Powtórka nowego hasła</span>
  148. </div>
  149.  
  150. <div class="panel_box13">
  151. <span class="panel_nav24"><span class="panel_nav41">Nowe hasło zacznie funkcjonować natychmiast!</span></span>
  152. <span class="panel_nav24"><input type="password" class="panel_text" name="nowe_haslo2" value="<?php echo isset($_POST['nowe_haslo2'])?$_POST['nowe_haslo2']:''; ?>" /></span>
  153. </div>
  154.  
  155.  
  156. </div>
  157. <div class="panel_ppbd"></div>
  158. </div>
  159. <!-- KONIEC / Blok -->
  160.  
  161. <div class="panel_box11">
  162. <div class="panel_nav26">
  163. <input type="submit" value="Zapisz" class="panel_button" name="zmiana_hasla">
  164. <input type="reset" value="Zrezygnuj" class="panel_button">
  165. </div>
  166. </div>
  167.  
  168. </div>
  169. <div class="panel_ppbd"></div>
  170. </div>
  171. <!-- KONIEC / Blok -->
  172.  
  173. </div>
  174. <div class="panel_pbd"></div>
  175. </div>
  176. </form>
  177.  
  178. <?
  179. }
  180. }
  181. ?>


Jest w nim kilka błędów, czego jestem świadom, nie ma wyświetlania błędów, jednak to wiem jak zrobić. Gorzej z wyświetlaniem błędów (walidacją), a mianowicie ma to działać na takiej zasadzie: gdy nie wypełnimy pola to ma wywalić błąd: Proszę uzupełnić pole, gdy jednak to zrobimy ale błędnie, to wiadomo, ma wywalać błąd że wprowadzono błędne dane czyli np., że hasła się nie zgadzają.

Jeżeli ktoś byłby mi w stanie pomóc to będę NIEZMIERNIE wdzięczny.
Zależy mi na szybkim ukończeniu tego formularza, gdyż siedzę nad nim całą noc i pół poprzedniego dnia... ;/
Już mnie głowa boli, próbowałem na milion sposobów i nadal nic, przedstawiłem okrojoną wersję ponieważ moja walidacja i tak nie działała, zostawiłem tylko wyciąganie aktualnego hasła z bazy.

BARDZO PROSZĘ O POMOC.

Pozdrawiam.

________________________________________________________________________________
PRZY OKAZJI PRZYJMĘ PROGRAMISTĘ NA STANOWISKO W FIRMIE (praca zdalna).
Więcej szczegółów:
e-Mail: info@creovision.pl
GG: 16103645





ROZWIĄZANE!!
Można zamknąćexclamation.gif

Ten post edytował peja1990 27.01.2011, 13:10:19
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 4.05.2025 - 05:53