PHP不在空输入上显示消息

时间:2015-07-24 17:36:29

标签: php html

这是我的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; - 但它似乎并没有这样做。

帮助将不胜感激。

1 个答案:

答案 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"; }

?>