目前我有一个登录脚本,其表格是login.php,用户可以在此页面登录,服务器检查他/她的电子邮件&密码组合。
现在我有另一个页面,用户可以输入另一个表单,名为employees.php,在这个页面中有一个叫做输入字段的电子邮件,这是禁用的,所以用户只能自己打电话给自己生病了。<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 = 'placeholder@test.com';
}
else {
header("Location: nologin.php");
}
这是我在employees.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>
那么,如何在用户使用他/她的帐户登录时自动填写电子邮件地址,并在employees.php的不可编辑输入字段中进行操作?
提前致谢!
答案 0 :(得分:0)
您必须先从数据库中获取电子邮件并将其另存为会话变量。 e.g
<?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");
}
?>