这是我的PHP和HTML:
<?php
if(isset($_POST['submit'])){
$user = $_POST['username'];
$pwrd = $_POST['pwrd'];
include('db_connect.php');
if(empty($user) || empty($pwrd)){
echo 'Please enter all the required information to proceed';
}
}
?>
<form action="login.php" method="post">
<input type="text" name="username" placeholder="Username">
<p></p>
<input type="password" name="pwrd" placeholder="Password">
<p></p>
<input type="submit" value="Log In">
</form>
目前,如果有人将其中一个文字输入字段留空,则表示会显示错误&#39;请输入所有必要信息以便继续操作&#39; - 但它似乎并没有这样做。
帮助将不胜感激。
答案 0 :(得分:4)
这是因为这个条件陈述
if(isset($_POST['submit']))
没有名称属性为“submit”的元素。
命名您的提交输入:
<input name="submit" type="submit" value="Log In">
错误报告会产生一些影响
未定义索引提交 - 已启用并显示或记录。
将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:只应在暂存时进行显示错误,而不是生产。
为第一个条件语句放置else{...}
后,将使用现有代码回显“未设置”:
<?php
if(isset($_POST['submit'])){
$user = $_POST['username'];
$pwrd = $_POST['pwrd'];
include('db_connect.php');
if(empty($user) || empty($pwrd)){
echo 'Please enter all the required information to proceed';
}
}
else{ echo "Not set"; }
?>