В настоящее время у меня есть скрипт входа в систему с формой login.php, на этой странице пользователь может войти в систему, а сервер проверяет свою электронную почту & комбинация паролей
Теперь у меня есть другая страница, на которой пользователи могут вводить другую форму, которая называется employee.php, на этой странице есть поле ввода email, которое отключено, поэтому пользователи могут только называть себя больными.
<form class="form" action="absent.php" method="get">
<p class="text">Email:</p>
<input type="text" maxlength="25" name="name" placeholder="<?php echo $email?>" disabled required>
<p class="text">Reason:</p>
<textarea style="width: 350px" maxlength="100" name="reason" required></textarea>
<p class="text">Date:</p>
<input type="date" name="date" required value="<?php echo date('Y-m-d'); ?>" / min="<?php echo date('Y-m-d'); ?>">
<br><br><br>
<input type="submit" value="Send">
<input type="hidden" name="email" value="<?php echo $email?>" />
Это работает хорошо, единственная проблема, с которой я в настоящее время борюсь, это то, что я не могу заставить ее работать, если электронная почта подключена к электронной почте для входа пользователей.
session_start();if( isset($_SESSION['user_id'])){
$email = '[email protected]';
}
else {
header("Location: nologin.php");
}
Это код, который я использую в верхней части employee.php.
И это код формы, который я использую на login.php.
<form action="login.php" method="POST">
<input type="email" placeholder="Enter email" name="email" required>
<input type="password" placeholder="and password" name="password" required>
<input type="submit" value="Log In">
</form>
Итак, как я могу заставить его работать так, чтобы, когда пользователь входит в систему со своей учетной записью, адрес электронной почты автоматически заполнялся в не редактируемом поле ввода в employee.php?
Заранее спасибо!
Вы должны сначала извлечь письмо из базы данных и сохранить его как переменную сеанса. например
<?php
require_once 'inc/config.php';
if(isset($_POST['login'])) { //if the login button was clicked
$username = mysql_real_escape_string($_POST['username']); //
$password = mysql_real_escape_string($_POST['password']);
$selUser = "SELECT * FROM users WHERE login ='${login}' AND password = '${password}'";
$runUser = mysqli_query($conn, $selUser);
$checkUser = mysqli_num_rows($runUser);
while($row = $runUser) {
$_SESSION['email'] = $row['email']; //grabs the email from the database and stores it in a session variable
}
if($checkUser > 0) {
$_SESSION['user_id'] = $username;
echo "<script>window.open('employee.php?login=1','_self')</script>";
}
else {
echo "<script>alert('Email or password is not correct, try again!')</script>";
header("Location: login.php?err=1");
}
}
?>
другой скрипт будет выглядеть так
<?php
session_start();if( isset($_SESSION['user_id'])){
$email = $_SESSION['email'];
}
else {
header("Location: nologin.php");
}
?>
Других решений пока нет …