我想要做的事情的基础是检查用户值。为什么php跳过if语句?
如果他们在那里返回true
并返回到页面,否则返回false
并打印空值。
$query = sprintf("SELECT * from Users where username = ? and password = ?");
$params1 = array($username, $password);
$stmt = sqlsrv_query($conn, $query, $params1);
if ($stmt === false)
{
die(print_r(sqlsrv_errors(), true));
}
$Users = array();
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$username1 = $row['username'];
$password1= $row['password'];
}
$Users["username"] = $username1;
$Users["password"] = $password1;
//echo json_encode($Users);
echo "you are here";
if ($username1==null)
{
return false;
echo "null values";
}
else {
return true;
if (!empty($_SERVER['HTTP_REFERER']))
header("Location: ".$_SERVER['HTTP_REFERER']);
else
echo "No referrer.";
}
echo "\n\nyou're at the end though";
sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);
}
else {
echo "Connection could not be established.<br />";
die(print_r(sqlsrv_errors(), true));
}
正如你所看到的,我试图调试程序,看看程序在哪里。它得到的地步
//echo json_encode($Users);
echo "you are here";
之后没有别的似乎工作,我不知道为什么。
虚假的东西,为什么你使用'前'返回false ; if块中的''或''true''? – jmattheis
帮你一个忙,并设置xdebug,然后通过你的代码。 echo或var_dump驱动的调试会让人厌倦,并且会因为不必要的语句而弄乱代码库。 – k0pernikus