Нашел ответ после долгого перерыва, посмотрев на него!
просто менялось
$querynewpass = "UPDATE tz_members SET `pass`='".$_POST['$passwordnew1']."' WHERE usr='{$_SESSION['usr']}'";
чтобы:
$querynewpass = "UPDATE tz_members SET `pass`='".md5($_POST['passwordnew1'])."' WHERE usr='{$_SESSION['usr']}'";
просто простой md5, который я пропустил!
im пытается изменить пароль пользователя, используя форму, в которой они вводят свой текущий пароль и новый пароль. он должен проверить базу данных mySQL, чтобы узнать, соответствует ли их текущий пароль совпадению с текущим пользователем сеанса, в который они вошли, а затем обновить базу данных mySQL до нового пароля. Вот сценарий, который у меня есть до сих пор:
if($_POST['submit']=='Change') { // Checking whether the Password Change form has been submitted $err = array(); // Will hold our errors if(!$_POST['password1'] || !$_POST['passwordnew1']) $err[] = 'All the fields must be filled in!'; if(!count($err)) { $_POST['password1'] = mysql_real_escape_string($_POST['password1']); $_POST['passwordnew1'] = mysql_real_escape_string($_POST['passwordnew1']); // Escaping all input data $row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE usr='{$_SESSION['usr']}' AND pass='".md5($_POST['password1'])."'")); if($row['usr']) { // If everything is OK change password $querynewpass = "UPDATE user SET `password`='".$_POST['$passwordnew1']."' WHERE id='".$_SESSION['usr']."'"; $resultnewpass = mysql_query($querynewpass) or die(mysql_error()); } else $err[]='Wrong Password To Start With!'; } if($err) $_SESSION['msg']['passwordchange-err'] = implode('<br />',$err); // Save the error messages in the session header("Location: index.php"); exit; }
но он поставляется с ошибкой «Таблица» databasename.user «не существует». У меня есть форма входа и регистрации, которые работают с использованием этого метода без ошибок!
UPDATE: у меня есть база данных с таблицей tz_members, а столбцы – id, pass, user, regIP и dt
мой mysql-запрос теперь:
$querynewpass = "UPDATE tz_members SET `pass`='".$_POST['$passwordnew1']."' WHERE usr='{$_SESSION['usr']}'";
UPDATED AGAIN добавив код формы, который вы увидите:
<!-- Pass Change Form --> <form action="" method="post"> <?php if($_SESSION['msg']['passwordchange-err']) { echo '<div class="err">'.$_SESSION['msg']['passwordchange-err'].'</div>'; unset($_SESSION['msg']['passwordchange-err']); } if($_SESSION['msg']['passwordchange-success']) { echo '<div class="success">'.$_SESSION['msg']['passwordchange-success'].'</div>'; unset($_SESSION['msg']['passwordchange-success']); } ?> <label class="grey" for="password1">Current Password:</label> <input class="field" type="password" name="password1" id="password1" value="" size="23" /> <label class="grey" for="password">New Password:</label> <input class="field" type="password" name="passwordnew1" id="passwordnew1" size="23" /> <input type="submit" name="submit" value="Change" class="bt_register" /> </form>
с<!-- Pass Change Form --> <form action="" method="post"> <?php if($_SESSION['msg']['passwordchange-err']) { echo '<div class="err">'.$_SESSION['msg']['passwordchange-err'].'</div>'; unset($_SESSION['msg']['passwordchange-err']); } if($_SESSION['msg']['passwordchange-success']) { echo '<div class="success">'.$_SESSION['msg']['passwordchange-success'].'</div>'; unset($_SESSION['msg']['passwordchange-success']); } ?> <label class="grey" for="password1">Current Password:</label> <input class="field" type="password" name="password1" id="password1" value="" size="23" /> <label class="grey" for="password">New Password:</label> <input class="field" type="password" name="passwordnew1" id="passwordnew1" size="23" /> <input type="submit" name="submit" value="Change" class="bt_register" /> </form>
с<!-- Pass Change Form --> <form action="" method="post"> <?php if($_SESSION['msg']['passwordchange-err']) { echo '<div class="err">'.$_SESSION['msg']['passwordchange-err'].'</div>'; unset($_SESSION['msg']['passwordchange-err']); } if($_SESSION['msg']['passwordchange-success']) { echo '<div class="success">'.$_SESSION['msg']['passwordchange-success'].'</div>'; unset($_SESSION['msg']['passwordchange-success']); } ?> <label class="grey" for="password1">Current Password:</label> <input class="field" type="password" name="password1" id="password1" value="" size="23" /> <label class="grey" for="password">New Password:</label> <input class="field" type="password" name="passwordnew1" id="passwordnew1" size="23" /> <input type="submit" name="submit" value="Change" class="bt_register" /> </form>