Я новичок в php, и я пытаюсь зарегистрироваться и войти на страницу.
Когда я регистрируюсь как новый пользователь, он работает нормально и попадает в базу данных. Однако, когда дело доходит до входа в систему, кажется, проблема в том, что я попробовал все.
то, что я хочу сделать, это когда пользователь входит в систему, он перенаправляет их на домашнюю страницу, и если информация для входа в систему была неправильной, то он будет отображать сообщение об ошибке.
Вот код php, который находится в файле регистрации:
<?php
session_start();
if( isset($_SESSION['users_id']) ){
header("Location: /");
}
require 'database.php';
if(!empty($_POST['email']) && !empty($_POST['password'])):
$records = $conn->prepare('SELECT id,email,password FROM users WHERE email = :email');
$records->bindParam(':email', $_POST['email']);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
$message = '';
if(count($results) > 0 && password_verify($_POST['password'], $results['password']) )
{
$_SESSION['users_id'] = $results['id'];
header("Location: php.dev/index.php", true, 301); exit();
}
else {
$message = 'Sorry, thoes credentials do not match';
}
endif;
?>
header("Location:....)
это не похоже на работу. я действительно застрял здесь какая-нибудь помощь?
Вот HTML-код:
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
<link href="Style/phpstyle.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet">
</head>
<body>
<div class="header">
<a href="php.dev/index.php"> TIPBUCKET </a>
</div>
<?php if(!empty($message)): ?>
<p><?= $message ?></p>
<?php endif; ?>
<h1>Login</h1>
<span> or <a href="register.php">Register here</a></span>
<form action="login.php" method="POST">
<input type="text" placeholder="enter your email" name="email">
<input type="password" placeholder="Password" name="password">
<input type="submit">
</form>
</body>
</html>
Заранее спасибо за любые ответы 🙂
У вас есть опечатка в заголовке:
header("Location: php.dev/index.php", ture, 301);
должно быть
header("Location: php.dev/index.php", true, 301);
Других решений пока нет …