0

我正在制作一个系统来更改我的密码,但我不知道为什么会收到此错误。我有这个错误信息:

解析错误:语法错误,第 37 行 /home/zenonhos/public_html/system/changepass.php 中的意外 T_ELSE

<?php
session_start();

$user = $_SESSION['username'];

if ($user)
{

    if ($_POST['submit'])
    {
        $oldpassword = md5($_POST['oldpassword']);
        $newpassword = md5($_POST['newpassword']);
        $repeatnewpassword = md5($_POST['repeatnewpassword']);


        $connect = mysql_connect("*******","******","*****");
        mysql_select_db("zenonhos_lr");

        $queryget = mysql_query("SELECT `password` FROM `users` WHERE username='$user'") or die();
        $row = mysql_fetch_assoc($queryget);
        $oldpassworddb = $row['password']; 

        if ($oldpassword==$oldpassworddb)
        {
            if ($newpassword == "") {
                echo "Password cannot be blank";
            } else {

                if ($newpassword==$repeatnewpassword)
                {
                    $querychange = mysql_query("UPDATE `users` SET password='$newpassword' WHERE username='$user'");

                    session_destroy();
                    die("Password successfully changed! <a href='index.php'>Return to home page</a>");
                } else {
                    die("New passwords do not match");
                } else {
                    die("Old password does not match");
                } echo "<form action='changepass.php' method='POST'>
                    Old Password: <input type='password' name='oldpassword'><br>
                    New Password: <input type='password' name='newpassword'><br>
                    Repeat New Password: <input type='password' name='repeatnewpassword'><br>
                    <input type='submit' name='submit' value='Change Password'>";
            } else {
                die("You must be logged in to view this page.");
            }

?>
4

2 回答 2

0

您尚未关闭此 if 语句的括号:

if ($user)
{

if ($_POST['submit'])
{
if ($oldpassword==$oldpassworddb)
{

要修复它,只需将它们放在} } }源代码的末尾即可。

另外,我强烈推荐阅读这篇文章。

于 2012-07-07T05:54:00.657 回答
0

你错过了 tree}并且有两个 sintax 错误,因为两个else. 以下是您更新的代码。

$user = $_SESSION['username'];

if ($user)
{
    if ($_POST['submit'])
    {
        $oldpassword = md5($_POST['oldpassword']);
        $newpassword = md5($_POST['newpassword']);
        $repeatnewpassword = md5($_POST['repeatnewpassword']);

        $connect = mysql_connect("*******","******","*****");
        mysql_select_db("zenonhos_lr");

        $queryget = mysql_query("SELECT `password` FROM `users` WHERE username='$user'") or die();
        $row = mysql_fetch_assoc($queryget);
        $oldpassworddb = $row['password']; 

        if ($oldpassword==$oldpassworddb)
        {
            if ($newpassword == "") 
            {
                echo "Password cannot be blank";
            } 
            else 
            {

                if ($newpassword==$repeatnewpassword)
                {
                    $querychange = mysql_query("UPDATE `users` SET password='$newpassword' WHERE username='$user'");

                    session_destroy();
                    die("Password successfully changed! <a href='index.php'>Return to home page</a>");
                } 
                else 
                {
                    die("Old password does not match");
                } 
            } 
        }
    }
}

echo "
    <form action='changepass.php' method='POST'>
    Old Password: <input type='password' name='oldpassword'><br>
    New Password: <input type='password' name='newpassword'><br>
    Repeat New Password: <input type='password' name='repeatnewpassword'><br>
    <input type='submit' name='submit' value='Change Password'>";

?>
于 2012-07-07T05:56:05.827 回答