我目前正在为客户将一个 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();
?>