Я делаю страницу входа для php, и странице входа требуются их адрес электронной почты и пароль, однако, когда они впервые регистрируются, он требует их имя и фамилию. Я пытаюсь напечатать их имя после того, как они войдут в систему, но я получаю «неопределенную переменную firstname», но она была вызвана для сохранения значения в регистрации, поэтому я не уверен, что произойдет. Если его также нужно вызвать в аспекте входа в систему, я не уверен, куда его вызывать, и я не хочу, чтобы пользователь снова вводил свое имя на странице входа, я просто хочу извлечь эти данные из регистрации. и введите его при входе в систему.
Это код индексной страницы, на которую направляется пользователь после входа в систему
<?php
session_start();
if(isset($_GET['logout'])){
session_destroy();
unset($_SESSION['email']);
unset($_SESSION['firstname']);
header("location: index.php");
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Illustrious Marketing</title>
<!--Bootstrap Stylesheet-->
<link rel="stylesheet" href="bootstrap-4.4.1-dist/css/bootstrap.min.css">
<link rel="stylesheet" href="css/index.css">
<!--Font-->
<script src="https://kit.fontawesome.com/4f2c3df144.js" crossorigin="anonymous"></script>
</head>
<body>
<!--Header Start-->
<header>
<div class="container">
<div class="row">
<div class="col-md-1 col-sm-1 col-lg-2 col-xl-3">
<div class="btn-group">
<button class="btn border dropdown-toggle my-md-4 my-2 text-color" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">GYD</button>
</div>
</div>
<div class="col-md-5 col-sm-10 col-lg-5 col-xl-5 text-center">
<h2 class="my-md-3 site-title text-color">Illustrious Marketing</h2>
</div>
<div class="col-md-6 col-sm-12 text-center col-lg-5 text-right col-xl-4 text-right">
<p class="my-md-4 header-links">
<?php
if(isset($_SESSION['firstname']));
?>
<a href="#" class="px-3"> Hello <?php echo $_SESSION['firstname']; ?></a>
<a href="#" class="px-1">Become a Seller</a>
<a href="index.php?logout='1'" class="px-2">Sign Out</a>
<? php endif ?>
</p>
</div>
Это код на сервере входа в систему
<?php
session_start();
// variable declaration
$email = "";
$errors = array();
// connect to database
$db = mysqli_connect('localhost', 'root', '', 'illustriousmarketing');
// REGISTER USER
if (isset($_POST['reg_user'])) {
// receive all input values from the form
$firstname = mysqli_real_escape_string($db, $_POST['firstname']);
$lastname = mysqli_real_escape_string($db, $_POST['lastname']);
$email = mysqli_real_escape_string($db, $_POST['email']);
$password = mysqli_real_escape_string($db, $_POST['password']);
// form validation: ensure that the form is correctly filled
if (empty($firstname)) { array_push($errors, "First Name is required"); }
if (empty($lastname)) { array_push($errors, "Last Name is required"); }
if (empty($email)) { array_push($errors, "Email is required"); }
if (empty($password)) { array_push($errors, "Password is required"); }
// register user if there are no errors in the form
if (count($errors) == 0) {
$password = md5($password);//encrypt the password before saving in the database
$query = "INSERT INTO loginform (`firstname`, `lastname`, `email`, `password`)
VALUES('$firstname', '$lastname', '$email', '$password')";
mysqli_query($db, $query);
$_SESSION['email'] = $email;
$_SESSION['success'] = "You are now logged in";
header('location: indexloginbuyer.php');
}
}
// ...
// LOGIN USER
if (isset($_POST['login_user'])) {
$email = mysqli_real_escape_string($db, $_POST['email']);
$password = mysqli_real_escape_string($db, $_POST['password']);
if (empty($email)) {
array_push($errors, "Email is required");
}
if (empty($password)) {
array_push($errors, "Password is required");
}
if (count($errors) == 0) {
$password = md5($password);
$query = "SELECT * FROM loginform WHERE email='$email' AND password='$password'";
$results = mysqli_query($db, $query);
if (mysqli_num_rows($results) == 1) {
$_SESSION['firstname'] = $firstname;
$_SESSION['email'] = $email;
$_SESSION['success'] = "You are now logged in";
header('location: indexloginbuyer.php');
}else {
array_push($errors, "Wrong email/password combination");
}
}
}
?>