感谢您的提前时间。
我正在构建一个带有登录功能的应用。在我的概念证明中,我使用了一些旧的PHP,但后来我意识到我很容易受到SQL注入,所以我切换到了PDO。
我完全是PDO,所以我不完全理解我的代码如何工作;)。我收到错误告诉我在第24行和第34行有一个未定义的密码索引。你能告诉我什么是错的,我该怎么办?
这是我的代码:
if ( isset ( $_POST ['loginButton'] ) ) {
$errMsg = '';
//username and password sent from Form
$username = trim ( $_POST ['username'] ) ;
$password = sha1 ( trim ( $_POST ['password'] ) ) ;
if ( empty ( $username ) ) {
$errMsg .= 'You must enter your Username<br>';
}
elseif ( empty ( $password ) ) {
$errMsg .= 'You must enter your Password<br>';
}
elseif ( $errMsg == '' ) {
$records = $databaseConnection->prepare ( 'SELECT * FROM users WHERE email = :username' ) ;
$records->bindParam ( ':username', $username ) ;
$records->execute () ;
$results = $records->fetch ( PDO::FETCH_ASSOC ) ;
if ( count ( $results ) > 0 && password_verify ( $password, $results ['password'] ) ) {
header ( 'location:dashboard.php' ) ;
exit;
}
else {
$errMsg .= 'Username and Password are not found<br>';
}
}
}