Я использую код this в качестве ссылки для создания страницы входа, но когда я получаю перенаправление на домашнюю страницу после входа в систему, я могу видеть панель инструментов, но вместе с ней я также получаю эти 2 ошибкистраница профиля профиля после входа в систему с использованием PDO
1) Предупреждение: PDOStatement :: Execute() [pdostatement.execute]: SQLSTATE [HY093]: Неверный номер параметра: параметр не был определен
2) Предупреждение: не удается изменить информацию в заголовке - заголовки уже отправлено
Эти ошибки возникают из-за страницы сеанса.
session.php
<?php
$dbhost = "localhost";
$dbname = "abc";
$dbuser = "abc";
$dbpass = "pwd";
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
session_start();
$user_check=$_SESSION['login_user'];
$result = $conn->prepare("SELECT * FROM register WHERE email = :user_check");
$result->execute(array(":usercheck"=>$user_check));
$row = $result->fetch(PDO::FETCH_ASSOC);
$login_session =$row['email'];
$user_id =$row['id'];
$user_passwords = $row['password'];
if(!isset($login_session))
{
$conn = null;
header('Location: login_form.html');
}
?>
может кто-нибудь сказать, как эти ошибки могут быть удалены?
PS Когда я меняю: $ user_check на: user_check ИЛИ usercheck в запросе (в соответствии с ним также изменяется новый оператор массива), страница входа в систему перестает перенаправляться на панель управления, вместо этого она направляется на страницу входа снова.
Обычно поставка вашего фактического кода - отличный старт. Не копировать вставку. – Darren
Нам нужно увидеть реальный код, я предполагаю, что ваша первая ошибка - опечатка. – EternalHour
Ошибка 1, скорее всего, связана с параметром typo, то есть '-> prepare (" SELECT FROM tbl WHERE username =: userName "); -> execute (array (": username" => $ _ POST ['username']) 'и ошибка 2, вероятно, вызвана ошибкой 1, напечатанной на странице, до того, как заголовки установлены/отправлены – Sean