我正在尝试在提交表单后在输入字段中保留用户电子邮件,并且之前已经使用了该工作但是在将大量代码从mysql更改为mysqli后,电子邮件在提交后不会保留在输入框中。
PhP代码
<?php
session_start();
include ('connection.php');
$email = isset ($_POST['email'])&& isset ($_POST['email']) ? $_POST['email'] : false;
if ($email){
$sql = "SELECT * FROM users WHERE email = '$email'";
$sql2 = mysqli_query($db, $sql);
}
?>
Html代码
<form class ="form" method ="POST" enctype="application/x-www-form-urlencoded">
Email:<input type="email" name="email" maxlength="30" value="<?php $email ?>" placeholder ="Enter Your Email"/>
<input id="button"type="submit" value="Get Security Question" name ="submit"/>
有谁知道为什么这不再有效?
答案 0 :(得分:2)
将代码更改为缺少echo
功能的地方。
Email:<input type="email" name="email" maxlength="30" value="<?php echo $email ?>"
我还想建议改变
$email = isset ($_POST['email'])&& isset ($_POST['email']) ? $_POST['email'] : false;
要
$email = !empty($_POST['email']) ? $_POST['email'] : false;
效果是一样的,但它的方式更清洁,第二个&& isset ($_POST['email'])
是不必要的。
答案 1 :(得分:2)
您的代码中缺少echo
。只需改变它。
<input type="email" name="email" maxlength="30" value="<?php echo $email ?>" placeholder ="Enter Your Email"/>
或简短形式的回声
<input type="email" name="email" maxlength="30" value="<?= $email ?>" placeholder ="Enter Your Email"/>