У меня есть эта регистрационная форма, которую пользователь заполняет и отправляет на другую страницу, которая добавляет информацию в мою базу данных. Есть ли способ, который после регистрации человека я могу отправить имя пользователя и пароль на страницу входа и автоматически записывать их в журнал? это код, который добавляет в свою базу данных после того, как пользователь зарегистрировался:Выполнение регистрации на странице регистрации после завершения регистрации
require "connection.php";
session_start();
if ($_POST['firstname'] != "" && $_POST['lastname'] !="" && $_POST['email'] != "" && $_POST['username'] !="" && $_POST['password'] !="")
{
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$password = $_POST['password'];
$username = $_POST['username'];
$query1="SELECT * FROM users WHERE username = '$username' ";
$username = mysqli_real_escape_string($conn,$username);
$password = mysqli_real_escape_string($conn,$password);
$firstname = mysqli_real_escape_string($conn,$firstname);
$lastname = mysqli_real_escape_string($conn,$lastname);
$email = mysqli_real_escape_string($conn,$email);
$result = mysqli_query($conn,$query1)
or die(mysqli_error($conn));
if(mysqli_num_rows($result) != 0)
{
$_SESSION['er_firstname'] = $firstname;
$_SESSION['er_lastname'] = $lastname;
$_SESSION['er_email'] = $email;
header("Location: index.php/?a=1");
}
else {
unset($_SESSION['er_firstname']);
unset($_SESSION['er_lastname']);
unset($_SESSION['er_email']);
$query = "INSERT INTO users (firstname, lastname, password, username) VALUES ('$firstname','$lastname','$email','$password', '$username')";
$data = mysqli_query($conn,$query)or die(mysqli_error($conn));
header("Location: index.php/?a=2");
}
}
?>
И это мой Войти код, когда я пользователь обычно вводит там имя пользователя и пароль, чтобы войти:
<?php
session_start();
$username = $_POST['username']; //either username or email
$password = $_POST['password'];
if($username=="" || $password == "")
{
header("Location: index.php");
}
require "connection.php";
if(!empty($username) && !empty($password)) {
$username = mysqli_real_escape_string($conn,$username);
$password = mysqli_real_escape_string($conn,$password);
$query = "SELECT * FROM users WHERE username = '$username' OR email = '$username' AND password = '$password'";
$data = mysqli_query($conn,$query);
if($data) {
if (mysqli_num_rows($data) == 1) {
$row = mysqli_fetch_assoc($data);
$_SESSION['id'] = $row['id'];
$_SESSION['username'] = $row['username'];
header("Location: http://home");
}
else {
header("Location: index.php/?i=1");
exit();
} }
else {
die("Query failed");
}
}
else {
$_SESSION['message'] = "Please enter a email and password";
header("Location: index.php");
exit();
}
Так что есть способ отправить add.php на login.php, я попытался переключить местоположение заголовка add.php на login.php, но он не работал.
Ummmm, если вы не хотите использовать подготовленные операторы, вам нужно избежать переменных *** до ***, которые вы используете в запросе ('$ username'). И чтобы ответить на ваш вопрос, установите те же самые переменные сеанса и перенаправляйтесь на ту же страницу, что и при входе в систему. – jeroen
выполните функцию входа в систему и передайте необходимые параметры имени пользователя и пароля для входа в систему. – manny
. Вы можете создать уникальный столбец в своей базе данных и затем сохранить его внутри сеанса или файла cookie. Затем вы можете включить некоторую форму проверки на каждую из ваших страниц входа, которые запрашивают этот уникальный ключ. – Kitson88