提交表单后,在输入字段中保留一个变量

时间:2015-10-15 08:55:35

标签: php html

我正在尝试在提交表单后在输入字段中保留用户电子邮件,并且之前已经使用了该工作但是在将大量代码从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"/>

有谁知道为什么这不再有效?

2 个答案:

答案 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"/>