나는 PDO를 사용하여 간단한 사용자 로그인을 구현하고 있습니다. 그러나 그것은 나에게 경고 메시지를주고있다 :PDO를 사용하여 로그인 - PHP
공지 사항 : 정의되지 않은 인덱스 : ID를 login.php에서 줄에 39
코드 : 내가 여기서 뭘
<?php
if($_POST)
{
$query = $db->prepare('SELECT * FROM users
WHERE email = :email and password = :pass');
$query->execute(array(':email' => $_POST['email'],
':pass' => $_POST['password']));
$count = $query->rowCount();
if($count==1)
{
$result = $query->fetchAll();
$_SESSION['user'] = $result['id'];
header("location:index.php");
exit;
}
else
{
$_SESSION['message']='Invalid login details.';
header("location:login.php");
exit;
}
}
?>
를 놓친 거지?
http://www.php.net/manual/en/pdostatement.fetchall.php 그래서 당신은 당신이 고유의 사용자 이름을 저장하는 가정 $result[0]['id']
[PHP : "주의 : 정의되지 않은 변수"및 "주의 : 정의되지 않은 인덱스"]의 중복 가능성 (http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice -undefined-index) – Gajus
fetchAll은 배수 행을 의미합니다. – Luceos
''var_dump ($ result)''를 사용하여 PDO가 반환하는 것을 확인하십시오. –