<?php
require_once 'init.php';
if(isset($_POST['username'], $_POST['password'])) {
$extractInfoUser = $db->prepare("SELECT * FROM user
WHERE username = :username
");
$extractInfoUser->execute([
'username' => $_POST['username']
]);
$users = $extractInfoUser->rowCount() ? $extractInfoUser : [] ;
foreach ($users as $user) {
if ($user['username'] = null) {
die("There is no username like this !");
} else {
echo "You are not able to register under this username !";
}
}
}
?>
Проблема в том, что я получаю в результате ничего такого !
Пожалуйста, помогите, потому что я не могу найти эту ошибку! Я понятия не имею, что это может быть!
Вы сделали сопоставление вместо сравнения, поэтому измените это выражение if:
if ($user['username'] = null)
к этому:
if ($user['username'] == null)
//^^ See here 2x '='
Ваше утверждение ЕСЛИ неверно, вы устанавливаете вместо проверки.
if ($user['username'] = null) {
Пока вы должны сделать:
if ($user['username'] == null) {
Вы забыли поставить оператор double =, вместо того, чтобы проверять, что вы устанавливали для $ user [‘username’] значение false.