Я уже опубликовал это, но оно было неполным: у меня есть система входа в систему, которая работает, но мне нужно, чтобы она работала с PDO!Кто-нибудь знает, где это идет не так и что мне нужно изменить?Первая часть кода старая (работает, но не PDO). Вторая часть кода - моя попытка pdo!
<?php
ob_start();
if(isset($_REQUEST['password']))
{
require 'connect.php';
$password =$_REQUEST['password'];
$mail = $_REQUEST['email'];
if(empty($mail) || empty($password)){
header('location: ../login.php?error=empty');
exit();
}
else{
$sql = "SELECT * FROM account WHERE email = ?;";
$stmt = mysqli_stmt_init($connect);
if(!mysqli_stmt_prepare($stmt, $sql)){
header("Location: ../login.php?error=sqlError");
exit();
}
else{
mysqli_stmt_bind_param($stmt, "s", $mail);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if($row = mysqli_fetch_assoc($result)){
$passwordCheck = password_verify($password, $row['wachtwoord']);
if($passwordCheck == false ){
header("Location: ../login.php?error=passwordWrong");
exit();
}
else if($passwordCheck == true){
session_start();
$_SESSION['userId'] = $row['account_id'];
$_SESSION['username'] = $row['gebruikersnaam'];
header("Location: ../index.php?login=succes");
exit();
}
}
else{
header("Location: login.php?error=noUser");
exit();
}
}
}
}
else{
header("Location: ../login.php?error=fail");
exit();
}
Вторая часть:
<?php
ni_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
ob_start();
if(isset($_REQUEST['password']))
{
require 'connect.php';
$password =$_REQUEST['password'];
$mail = $_REQUEST['email'];
if(empty($mail) || empty($password)){
header('location: ../login.php?error=empty');
exit();
}
else{
$sql = "SELECT * FROM account WHERE email = ?;";
$stmt = $connect->prepare($sql);
$stmt->bindParam('?', $mail);
$stmt->execute();
$row_length-> $stmt->fetchColumn();
$row = $stmt->fetchColumn();
if($row_length == 1 ){
$passwordCheck = password_verify($password, $row['wachtwoord']);
if($passwordCheck == false ){
header("Location: ../login.php?error=passwordWrong");
exit();
}
else if($passwordCheck == true){
session_start();
$_SESSION['userId'] = $row['account_id'];
$_SESSION['username'] = $row['gebruikersnaam'];
header("Location: ../index.php?login=succes");
exit();
}
}
else{
header("Location: login.php?error=noUser");
exit();
}
}
}
else{
header("Location: ../login.php?error=fail");
exit();
}
Я не получаюсообщение об ошибке, просто ошибка HTTP 500