2012-07-07 124 views
0

我正在让一个系统来更改我的密码,我不知道为什么我得到这个错误。 我有这样的错误消息:为什么会出现此错误?解析错误:语法错误,意外T_ELSE

Parse error: syntax error, unexpected T_ELSE in /home/zenonhos/public_html/system/changepass.php on line 37

<?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."); 
      } 

?> 
+2

请阅读:http://en.wikipedia.org/wiki/Indentation – Jack 2012-07-07 05:48:53

+0

嗯你可以使用2个连续的? “else else {”New passwords do not match“); } else {” – 2012-07-07 05:53:12

+0

@Shadow_boi是正确的,我认为(你应该提交作为答案:-) – 2012-07-07 06:00:37

回答

0

你错过了树},并有两个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'>"; 

?> 
+0

这仍然不起作用,只是给了我一个更低的线路上的错误 – 2012-07-07 06:03:08

+0

@JonathanSmith,请再次复制并粘贴代码,我做了一些更改。如果你得到错误,把它们放在这里。 – 2012-07-07 06:06:28

+0

现在它甚至没有显示窗体,也没有错误 – 2012-07-07 06:09:30

0

您还没有关闭这个if语句的括号:

if ($user) 
{ 

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

为了解决这个问题,只是在年底将有} } }它们关闭的源代码。

此外,我建议您强烈阅读this

相关问题