2013-11-03 98 views
-6

嗨,我是Php的新生。我目前正在开发一个login.php中解析错误:语法错误,意外的文件结尾

但是编译后我收到此错误信息,

Parse error: syntax error, unexpected end of file in D:\xampp\htdocs\uploadthis\login.php on line 90 

我的login.php文件如下

<?php session_start(); 
if(isset($_COOKIE["usNick"]) && isset($_COOKIE["usPass"])){ ?> 
    <META HTTP-EQUIV="REFRESH" CONTENT="0;URL=myaccount.php"> 
<?php 
    exit(); 
} 

$display_error = ""; 
$username = ""; 

if ($_POST['username']) { 
    $username = $_POST['username']; 
    if(strtolower($_POST['code'])!= strtolower($_SESSION['texto'])){ 
     $display_error = "* Security Code Error"; // error language 
     include ('error.php'); 
     exit(); 
    }else{ 
     include('includes/config.inc.php'); 
     $username=uc($_POST['username']); 
     $pass=uc($_POST['password']); 
     $password = sha1($pass); 

     if ($password==NULL) { 
      $display_error = "* All fields are required"; // error language 
      include ('error.php'); 
      exit(); 
     }else{ 
      $myDb->connect(); 
       $query = mysql_query("SELECT username,password FROM yob_users WHERE username = '$username'") or die(mysql_error()); 
       $data = mysql_fetch_array($query); 
      $myDb->close(); 
      if($data['password'] != $password) { 
       $display_error = "* Please, Check your username/password."; // error language 
       include ('error.php'); 
       exit(); 
      }else{ 
       $myDb->connect(); 
        $query = mysql_query("SELECT username,password FROM yob_users WHERE username = '$username'") or die(mysql_error()); 
        $row = mysql_fetch_array($query); 
       $myDb->close(); 
       $nicke=$row['username']; 
       $passe=$row['password']; 
       setcookie("usNick",$nicke,time()+7776000); 
       setcookie("usPass",$passe,time()+7776000); 
       $lastlogdate = date("F j, Y - g:i a"); 
       $lastip = getRealIP(); 
       $myDb->connect(); 
        $querybt = "UPDATE yob_users SET lastlogdate='$lastlogdate', lastiplog='$lastip' WHERE username='$nicke'"; 
        mysql_query($querybt) or die(mysql_error()); 
       $myDb->close(); ?> 
       <META HTTP-EQUIV="REFRESH" CONTENT="0;URL=myaccount.php"> 
<? 
      } 
     } 
    } 
}else{ 
    include ('header.php'); 
?> 
     <div id="content"> 
      <p class="error"><?php echo $display_error;?></p> 

      <form action="login.php" method="post" class="f-wrap-1"> 
      <div class="req"><a href="signup.php">Not Registered?</a><br /><a href="recoverpass.php">Forgot your Password?</a></div> 
      <fieldset> 

      <h3>Member Login</h3> 

      <label for="firstname"><b>Username:</b> 
      <input id="username" name="username" type="text" class="f-name" autocomplete="off" tabindex="1" /><br /> 
      </label> 
      <label for="password"><b>Password:</b> 
      <input id="password" name="password" type="password" class="f-name" autocomplete="off" tabindex="2" /><br /> 
      </label> 
      <label for="code"><b>Security Code:</b> 
      <input id="code" name="code" type="text" class="f-name" autocomplete="off" tabindex="3" /><br /> 
      </label> 
      <label for="code2"><b>&nbsp;</b> 
      <img src="image.php?<?php echo $res; ?>" /><br /> 
      </label> 
      <div class="f-submit-wrap"> 
      <input type="submit" value="Submit" class="f-submit" tabindex="4" /><br /> 
      </div> 
      </fieldset> 
      </form> 

<?php 
include ('footer.php'); 
} 
} 
?> 

给予我与

关闭

} But still getting error,. but couldn't get it workerd. Please help.

+0

而不是关闭PHP和输出元刷新标记使用'标题( “位置:myaccount.php”); exit();' – Popnoodles

+1

请切换到[预准备语句](http://bobby-tables.com/php.html)以防止SQL注入。 –

+6

这个问题似乎是脱离主题,因为它是关于调试 –

回答

1

删除最后一个括号。添加“php标记”

<META HTTP-EQUIV="REFRESH" CONTENT="0;URL=myaccount.php"> 
<? 

我的建议是使用mysqli_ *函数而不是mysql_ *函数。对于安全性和mysql_ *已折旧。

调试您的代码:

 <?php session_start(); 
      if(isset($_COOKIE["usNick"]) && isset($_COOKIE["usPass"])){ ?> 
       <META HTTP-EQUIV="REFRESH" CONTENT="0;URL=myaccount.php"> 
      <?php 
       exit(); 
      } 

      $display_error = ""; 
      $username = ""; 

      if (isset($_POST['username'])) { 
       $username = $_POST['username']; 
       if(strtolower($_POST['code'])!= strtolower($_SESSION['texto'])){ 
        $display_error = "* Security Code Error"; // error language 
        include ('error.php'); 
        exit(); 
       }else{ 
        include('includes/config.inc.php'); 
        $username=uc($_POST['username']); 
        $pass=uc($_POST['password']); 
        $password = sha1($pass); 

        if ($password==NULL) { 
         $display_error = "* All fields are required"; // error language 
         include ('error.php'); 
         exit(); 
        }else{ 
         $myDb->connect(); 
          $query = mysql_query("SELECT username,password FROM yob_users WHERE username = '$username'") or die(mysql_error()); 
          $data = mysql_fetch_array($query); 
         $myDb->close(); 
         if($data['password'] != $password) { 
          $display_error = "* Please, Check your username/password."; // error language 
          include ('error.php'); 
          exit(); 
         }else{ 
          $myDb->connect(); 
           $query = mysql_query("SELECT username,password FROM yob_users WHERE username = '$username'") or die(mysql_error()); 
           $row = mysql_fetch_array($query); 
          $myDb->close(); 
          $nicke=$row['username']; 
          $passe=$row['password']; 
          setcookie("usNick",$nicke,time()+7776000); 
          setcookie("usPass",$passe,time()+7776000); 
          $lastlogdate = date("F j, Y - g:i a"); 
          $lastip = getRealIP(); 
          $myDb->connect(); 
           $querybt = "UPDATE yob_users SET lastlogdate='$lastlogdate', lastiplog='$lastip' WHERE username='$nicke'"; 
           mysql_query($querybt) or die(mysql_error()); 
          $myDb->close(); ?> 
          <META HTTP-EQUIV="REFRESH" CONTENT="0;URL=myaccount.php"> 
      <?php 
         } 
        } 
       } 
      }else{ 
       include ('header.php'); 
      ?> 
        <div id="content"> 
         <p class="error"><?php echo $display_error;?></p> 

         <form action="login.php" method="post" class="f-wrap-1"> 
         <div class="req"><a href="signup.php">Not Registered?</a><br /><a href="recoverpass.php">Forgot your Password?</a></div> 
         <fieldset> 

         <h3>Member Login</h3> 

         <label for="firstname"><b>Username:</b> 
         <input id="username" name="username" type="text" class="f-name" autocomplete="off" tabindex="1" /><br /> 
         </label> 
         <label for="password"><b>Password:</b> 
         <input id="password" name="password" type="password" class="f-name" autocomplete="off" tabindex="2" /><br /> 
         </label> 
         <label for="code"><b>Security Code:</b> 
         <input id="code" name="code" type="text" class="f-name" autocomplete="off" tabindex="3" /><br /> 
         </label> 
         <label for="code2"><b>&nbsp;</b> 
         <img src="image.php?<?php echo $res; ?>" /><br /> 
         </label> 
         <div class="f-submit-wrap"> 
         <input type="submit" value="Submit" class="f-submit" tabindex="4" /><br /> 
         </div> 
         </fieldset> 
         </form> 

      <?php 
      include ('footer.php'); 
      } 

      ?> 
+0

当我删除最后}它没有任何区别,我应该复制粘贴你给我的解决方案吗? – user2948532

+0

好的,在复制粘贴后它工作,但得到了一个新的错误, '注意:未定义的索引:用户名在D:\ xampp \ htdocs \ uploadthis \ login.php 11行〜 – user2948532

+0

是的,只需复制粘贴代码 –

相关问题