2012-07-07 5 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 흠이 연속 2 다른 사용할 수 있습니다 – Jack

+0

? "else { die ("New passwords do not match "); } else {" –

+0

@Shadow_boi가 정확합니다. (답변으로 제출해야합니다 :-) –

답변

0

} 트리를 찾지 못했고 두 개의 불일치 오류가 발생했기 때문에 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

여전히 작동하지 않았으므로 하단 줄에 오류가 표시되었습니다. –

+0

@JonathanSmith, 코드를 다시 복사하여 붙여 넣으십시오. 일부 변경을 수행했습니다. 오류가 발생하면 여기에 입력하십시오. –

+0

이제 양식이 표시되지 않고 오류가 없습니다. –

0

:

if ($user) 
{ 

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

그냥 결국이 } } } 넣어를 닫습니다, 그것을 해결하기 위해 나는이 오류 메시지가 귀하의 소스 코드.

또한 나는 강력하게 this을 읽는 것이 좋습니다.

관련 문제