Основы того, что я хочу сделать, это проверить пользовательские значения.Почему 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";
После этого ничего больше не работает, и я не знаю почему.
почему вы используете '' возвращают ложные ; '' или '' true'' в блоке if? – jmattheis
Сделайте себе одолжение и установите xdebug, а затем выполните свой код. Отладка с помощью echo или var_dump становится утомительной быстро и запутывает вашу кодовую базу ненужными заявлениями. – k0pernikus