Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The name of your form fields doesn't match what's listed in changepassword.php . You are missing an "a" in what should be "newpasswd1" and "newpasswd2" -- <code>name=newpsswd1</code> should be <code>newpasswd1</code> and so on. </p> <p>Also you have "newpasswd1" listed twice</p> <pre><code> $oldpasswd = ($_POST['oldpasswd']); $newpasswd**1** = ($_POST['newpasswd1']); $newpasswd**1** = ($_POST['newpasswd2']); </code></pre> <p>...I think you probably meant this...</p> <pre><code> $oldpasswd = ($_POST['oldpasswd']); $newpasswd**1** = ($_POST['newpasswd1']); $newpasswd**2** = ($_POST['newpasswd2']); </code></pre> <p>I also incorporated the changes suggested by Pastor Bones and Abhishek Bhatia and it works fine now. (Also I a close form tag to the HTML) </p> <p>Here's what the whole thing should look (as modified for my site):</p> <p>HTML FORM</p> <pre><code>&lt;form method="POST" action="changepassword.php"&gt; &lt;p&gt;&lt;input type="password" name="oldpasswd" id="oldpasswd" maxlength="30" placeholder="Old Password"&gt;&lt;/p&gt; &lt;p&gt;&lt;input type="password" name="newpasswd1" id="newpasswd1" maxlength="30" placeholder="New Password"&gt;&lt;/p&gt; &lt;p&gt;&lt;input type="password" name="newpasswd2" id="newpasswd2"maxlength="30" placeholder="Confirm Password"&gt;&lt;/p&gt; &lt;input type="submit" name="submit" id="submit" value="change password"&gt; &lt;/form&gt; </code></pre> <p>changepassword.php</p> <pre><code>function changepassword ($oldpasswd, $newpasswd1, $newpasswd2) { $oldpasswd = ($_POST['oldpasswd']); $newpasswd1 = ($_POST['newpasswd1']); $newpasswd2 = ($_POST['newpasswd2']); if ($newpasswd1 != $newpasswd2) { return 1; } $sql = "SELECT Password FROM users WHERE UserID = ".$_SESSION['UserId']; $result = mysql_query($sql)or die('User not found: ' . mysql_error()); $row=mysql_fetch_assoc($result); if (md5($oldpasswd)==$row['Password']) { $md5_np=md5($newpasswd1); $query = sprintf("UPDATE `users` SET `Password` = '%s' WHERE `UserID` ".$_SESSION['UserId'],mysql_real_escape_string($md5_np)); mysql_query($query)or die('Could not update password: ' . mysql_error()); return 0; } else { return 2; } } echo changepassword($_POST['oldpasswd'], $_POST['newpasswd1'], $_POST['newpasswd2']); </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload