Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana hasła dla usera tyko po podaniu starego
Balu90
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 24.08.2005
Skąd: Mysłowice

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


A więc mam taki problem:
Chcę, aby użyszkodnik miał możliwość zmiany swojego hasła tylko po podaniu poprzedniego, które przedtem miał zapisane w Bazie Danych.
Jak na razie wydziergałem coś takiego, ale nadal z działaniem ma to niewiele wspólnego (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Kod przedstawia się następująco:
  1. <?
  2. if(!$_SESSION['userid']) header("Location: login.php");
  3. include("html_header.php");
  4. $tpl = new HTML_Template_IT("./templates");
  5. $tpl->loadTemplatefile("profile.tpl", true, true);
  6. db_connect();
  7. $userid = $_SESSION['userid'];
  8. if ($_POST['pwd'] || $_POST['pwd2'] || $_POST['email']) {
  9. $sql = "SELECT password FROM user WHERE userid=$userid";
  10. $do_query = mysql_query($sql) or die(mysql_error());
  11. $data = mysql_fetch_row($do_query);
  12. $old_password_db = $data[0];
  13. //echo $old_password_db."&nbsp;";
  14. $sql = "SELECT password('".$_POST['old_pwd']."')";
  15. $do_query = mysql_query($sql) or die("1");
  16. $data = mysql_fetch_row($do_query);
  17. $old_password_form = $data[0];
  18. //echo $old_password_form;
  19.  
  20. if($_POST['pwd']= $_POST['pwd2']){
  21. // i tu chodzi o to, żeby hasło z formularza było identyczne z hasłem z db, ale mi
     to nie działa :(
  22. if($old_password_form = $old_password_db) {
  23. $sql = "SELECT password('".$_POST['pwd']."')";
  24. $do_query = mysql_query($sql) or die(__LINE__.mysql_error());
  25. $data = mysql_fetch_row($do_query);
  26. $new_password = $data[0];
  27. $sql = "SELECT password FROM user WHERE userid=$userid";
  28. $do_query = mysql_query($sql) or die(mysql_error());
  29. $data = mysql_fetch_row($do_query);
  30. $old_password = $data[0];
  31. if ($new_password != $old_password) {
  32.  $sql = "UPDATE user SET password = password('".$_POST['pwd']."') WHERE userid = $userid";
  33.  $do_query = mysql_query($sql) or die(__LINE__.mysql_error());
  34. }
  35. }
  36. }
  37. else if ($_POST['email']) {
  38. $sql = "SELECT email FROM user WHERE userid = $userid";
  39. $do_query = mysql_query($sql) or die(__LINE__.mysql_error());
  40. $data = mysql_fetch_row($do_query);
  41. $old_email = $data[0];
  42. $new_email = htmlspecialchars(addslashes($_POST['email']));
  43. //echo $new_email;
  44. if ($old_email != $new_email) {
  45. $sql = "UPDATE user SET email = '".$new_email."' WHERE userid = $userid";
  46. echo $sql;
  47. $do_query = mysql_query($sql) or die(mysql_error());
  48. }
  49. }
  50. ?>


Czy ktoś mógłby mi pomóc w poprawie tego?

Ten post edytował Balu90 1.10.2005, 12:27:36
Go to the top of the page
+Quote Post

Posty w temacie


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: 22.12.2025 - 19:49