2014-01-07 112 views
-1

我目前正在將一個mysql項目翻譯爲sqlsrv的客戶端,我只是遇到了一個問題。 Php抱怨$ query_pass在實際上被宣佈時意外。它在我使用mysql的時候起作用,但是我看不出問題甚至可能與此有關。下面的代碼:意外的變量

<?php 

session_start(); 
ob_start(); 

?> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<form action="<?php $current_file ?>" method="post"> 
     E-post: <input type="text" name="username"/><br> 
     Lösenord: <input type="password" name="pass" /><br> 
     <input type="submit" value="Logga in"/> 
     </form><form action="http://localhost/update.php"> 
    <input type="submit" value="Skapa lösenord"> 
</form> 

<?php 

if(isset($_POST['username'])&&isset($_POST['pass'])) 
{ 
    $username = $_POST['username']; 
    $password = $_POST['pass']; 

    if(!empty($username)&&!empty($password)) 
    { 

     $query = "SELECT login_id, password FROM users WHERE email = '$username'"; 
     $row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC) 
     $query_pass = $row['password']; 
     $_SESSION['id'] = $row['login_id'] 

     if($row && ($query_pass == NULL)) 
     { 
      $next = "http://localhost/update.php"; 
       header('Location: '.$next); 


     } 
     else 
     { 
      if((sqlsrv_num_rows($query_run) == 0) || $query_pass != $password) 
      { 
       echo 'Ingen matchning av lösenord och användare hittad.'; 
      }else{ 
       $next = "http://localhost/title_choice.php"; 
       header('Location: '.$next); 
      } 
     } 

    }else{ 
     echo "Användarnamn och lösenord behövs."; 
    } 

} 

ob_end_flush(); 
?> 
+4

什麼是錯誤? –

+0

解析錯誤:語法錯誤,在第28行的C:\ xampp \ htdocs \ login.php中出現意外'$ query_pass'(T_VARIABLE) – pimmen

+1

您在'$ row = sqlsrv_fetch_array($ query,SQLSRV_FETCH_ASSOC)'上忘了';'。 –

回答

4

你在下面的行缺少一個;

$row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC) 
+0

downvote的原因是什麼? –

+0

爲什麼downvote?由於問題是脫離主題是這是100%正確 –

+0

我不明白downvote,too..strange;) –

1

此外,

$_SESSION['id'] = $row['login_id'] 

需要;

+0

這是正確的,這將是下一個錯誤;)+1 –