如何显示空字段错误消息

时间:2014-05-17 13:32:40

标签: php mysql validation

我有一个允许用户“创建主题”的页面,打开提交此表单通过验证过程转到另一个表单,该过程将主题插入数据库并重定向回主页面。但是,如果没有填写所有字段,我希望我的验证页面“添加主题”显示错误消息。这是我的代码,请您告诉我在哪里需要添加此验证代码以通知用户填写所有字段:

// get data that sent from form 
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$name=$_POST['name'];
$email=$_POST['email'];

$datetime=date("d/m/y h:i:s"); //create date time





$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);




if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
}
else {

echo "ERROR";
}
mysql_close();

2 个答案:

答案 0 :(得分:0)

您可以使用php GET请求将错误发送到主页面,然后显示它。

答案 1 :(得分:0)

我的建议是创建一个名为validation的独立php文件,并在验证文件中添加一个函数。当然你可以在同一个php文件中创建这个函数。如果您单独使用include语句将其放在页面上。此外,快速回复本身也很好,因为您可以轻松访问已发布的变量并已在页面上显示错误。否则,您必须在get,post或session中返回错误。如果一切都成功,您可以在回发后立即发布或重定向(可能是成功页面),如果出现错误,用户只会看到回发。

include_once("Validation.php"); 

如上所示。

validateNewTopic($topic, $detail, $name, $email, $datetime)
{


}

然后你可以使用if语句检查条件。如果您想要快速解决方案,可以创建一个变量来保存所有错误。

    $Error = "<p class='errors'">;

    if ($topic == "")
    {
     $Error+="topic is required";
    }


    if ($Error != "<p class='errors'">)
    {

        return $Error +"</p>";

    }
else
{
return "";
}

由于您要发布值,您可以在回发上的变量中捕获它们以进行验证。

$topic = $POST['topic'];

$Error=validateNewTopic($topic);

if ($Error != "")
{
  ?>
echo $Error
<?php
}
else {
//run sql code and show success
}

通过将段落标记放在$ Error消息中,我们可以回显它,它已经在带有类错误的段落标记中。您可以使用无序列表以及使用列表项添加错误时使其更漂亮。我不确定你对php有多熟悉,但随时你可以通过关闭标签来停止编写php代码。 (&lt; php?&gt;并重新打开&lt;?php),如上面if语句中所示。我知道这不是100%明确,但这是你应该尝试/研究和实践的东西,因为它经常被使用。祝你好运!