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

あなたは木}を逃しました、そして、2つのために2つの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 に答える