Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] skrypt zmiany hasła
iksior
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 30.01.2010

Ostrzeżenie: (0%)
-----


Witam ! chciał bym napisać skrypt zmiany hasła użytkownika z bazy danych, ale kompletnie nie wiem jak się do tego zabrać... czy może mi ktoś pomóc ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Formularz zmiany hasła, gdzie podajesz i stare i nowe. Jeśli stare zgadza się z aktualnym, zatwierdzasz nowe.
Go to the top of the page
+Quote Post
iksior
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 30.01.2010

Ostrzeżenie: (0%)
-----


  1. Zmiana Hasła:
  2. <BR><BR><fieldset>
  3. <form action='' method='post'>
  4. Nowe Hasło:<input type='password' name='password'><BR><BR>
  5. Powtórz Hasło:<input type='password' name='password2'><BR><BR>
  6. <input type='submit' name='submit' value='Zmień'>
  7. </form>
  8. </fieldset>
  9. <?php
  10. include ('includes/config_includes.php');
  11. include ('sesja.php');
  12. if (!empty($_POST['password']) && !empty($_POST['password2']) && $_POST['password'] == $_POST['password2'])
  13. {
  14. $zapyt=mysql_query("SELECT `user_id`, `user_name` FROM `users` WHERE `user_name` = '$log'");
  15. $wynik=mysql_fetch_array($zapyt);
  16. $id=$wynik["id"];
  17. echo("$id");
  18. $change = "UPDATE `baza1`.`users` SET `user_password` = '$password2' WHERE `users`.`user_id` = '$id' LIMIT 1";
  19. }else{
  20. echo 'Wpisałeś dwa rózne hasła<BR>'; }
  21. if (@mysql_query ($change)) {
  22. echo "Gratulujemy $nick twoje hasło zostało zmienione";
  23. } else {
  24. echo "Error"; }
  25. ?>

Mam coś takiego gotowiec ściągnięty z neta ale raczej średnio działa... ;/ i nie wiem co jest nie tak
Go to the top of the page
+Quote Post
darophp
post
Post #4





Grupa: Zarejestrowani
Postów: 309
Pomógł: 20
Dołączył: 13.02.2010
Skąd: Kęty

Ostrzeżenie: (0%)
-----


Noo... w końcu się podzielę kodem (IMG:style_emoticons/default/smile.gif) Looknij i pozmieniaj (IMG:style_emoticons/default/smile.gif)
  1. $logged = isset($_REQUEST["logged"])?($_REQUEST["logged"]):"";
  2.  
  3. if ($logged=="change_pass") {
  4.  
  5. $password = htmlspecialchars(stripslashes(trim($_POST["password"])), ENT_QUOTES);
  6.  
  7. if (strlen($password)<3 or strlen($password)>32
  8. or !eregi("^[a-zA-Z0-9]+$",$password)) { $blad++;
  9. echo "<p style=\"color:red;\">Hasło musi mieć od 3 do 32 znaków bez polskich liter i spacji!</p>";
  10. }
  11.  
  12. if ($blad==0) {
  13. $password = md5($password);
  14. $wynik = mysql_query("UPDATE users SET password='$password' WHERE login='{$_SESSION["login"]}'");
  15. if ($wynik) {
  16. $data_true_pass = "<p>Hasło zostało zmienione</p>";
  17. $_SESSION["password"] = $password;
  18. }
  19. } else $data_false_pass = "<p>Hasło nie zostało zmienione !</p>";
  20. }
  21.  
  22. $wynik=mysql_query("SELECT * FROM users WHERE login='{$_SESSION["login"]}'");
  23. if (mysql_num_rows($wynik)==1) {
  24. $dane=mysql_fetch_array($wynik);
  25. echo <<<KONIEC
  26. <div class="right">
  27. <form action="/profile" method="post">
  28.  <input type="hidden" name="logged" value="change_pass" />
  29.  <table style="padding: 10px; padding-top: 5px;" >
  30.   <tr>
  31.   <td><p>Hasło: </p></td>
  32.   <td><input type="password" name="password" value="" /></td>
  33.   </tr>
  34.   <tr>
  35.   <td><input type="submit" class="send" value=" Zapisz hasło " /></td>
  36.   </tr>
  37.  </table>
  38. <p>$data_true_pass $data_false_pass</p>
  39. </form>
  40. </div>
  41. KONIEC;
  42. }
Go to the top of the page
+Quote Post
thek
post
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Bo to masz gotowiec przerobiony. Jak byk widać, że warunki w IF sa złe. Chodzi o ten ostatni. Sprawdzasz czy password1 nie jest puste i czy password2 nie jest puste i czy password1 i passowrd2 są takie same (IMG:style_emoticons/default/biggrin.gif) Tak więc to zadziała tylko gdy oba nie są puste, a co weselsze, tylko gdy są identyczne (IMG:style_emoticons/default/winksmiley.jpg) Tam na bank w skrypcie były 3 pola haseł. Jedno stare i dwa nowe, przy czym drugie nowe było po to, by porównać je między sobą czy nie walnąłeś literówki. Zgadłem? (IMG:style_emoticons/default/winksmiley.jpg) Przerobiłeś nieprawidłowo jakiś gotowiec netowy i dlatego masz byki teraz, bo zrobiłeś to bez przyjrzenia się dokładnie co i jak działa. Przyjrzyj dokładnie i przemyśl co ma być sprawdzane oraz kiedy. Rozpisz algorytm jak to ma wyglądać i te punkty obkładaj funkcjami oraz kodem. Krok po kroku a dojdziesz do wyniku (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 4.10.2025 - 10:23