【发布时间】:2019-12-05 03:40:13
【问题描述】:
我的用户名是主键。当用户提交表单并发现用户名重复时,sql 将失败。如果提交失败,我想用用户输入的值重新显示表单。我该怎么做?
我尝试使用 if(isset) 方法和 windows.location.href 回到同一页面,它会清除插入的值。
我还尝试在没有 window.location.href 的情况下仅回显警报脚本,它会清除所有内容。
如果提交失败,如何在文本框中重新显示带有插入值的表单?
这是我的代码。
include('sql_connect.php');
if (isset($_POST['submit'])) {
// code...
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "INSERT INTO `test`(`Username`, `Password`) VALUES ('$username' , '$password') ";
if (!mysqli_query($connection , $sql)){
echo"<script>alert('Failed');</script>";
}
else {
echo"<script>alert('$type INSERTED');window.location.href='test3.php';</script>";
}
}
else {
// code...
?>
<form class="" action="test.php" method="post">
Username : <input type="text" name="username" value=""> <br>
Password : <input type="text" name="password" value="">
<button type="submit" name="submit">Submit</button>
</form>
<?php
} ?>
【问题讨论】:
-
您可以在前端使用验证来避免冗长的过程。
-
不要重定向到别处,只需输出表单再次 - 这次使用您刚刚收到的值预填充文本输入字段的
value属性。 -
@04FS 是的!谢谢你。我真的不知道谷歌的确切内容,这就是我问的原因。谢谢!
标签: php