如何检查发布到同一页面的用户输入

时间:2013-03-08 15:06:13

标签: php html validation

所以我有一个html表单,使用PHP发布到同一页面..这很酷,但为了阻止PHP每次打开页面时抛出错误,如果添加了一个系统,检查是否发布变量是空的(当用户第一次加载页面时,因为它们没有机会输入任何内容)。我的问题是,有更好的方法吗?因为加载表单时加载PHP脚本,我收到消息“你没有输入任何东西”。我不希望这个页面首次加载时出现,只有在必要时...

以下是代码:

<form action="" method="post">
<table align="center">
<tr> 
    <td>Enter a word to hash:  </td>
    <td><input type="text" name="input" size="20" maxlength="20"></td>
    <td><input type="submit" value="Hash"> </td>
</tr>

</table>

</form>

<?php
if(empty($_POST['input']))
{
    echo 'You didnt type anything!';
    exit;
}

$input = $_POST['input'];
$input=trim($input);
    echo md5($input);

?>

4 个答案:

答案 0 :(得分:3)

是的,请查看REQUEST_METHOD

if( $_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST['input']) ) {
    ...
}

答案 1 :(得分:1)

if($_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST['input']))

答案 2 :(得分:1)

尝试使用isset empty,因为在第一页上加载$_POST['input']不应该存在。

<?php
if(isset($_POST['input']) && empty($_POST['input']) )
{
    echo 'You didnt type anything!';
    exit;
} else {
//check
}

?>

答案 3 :(得分:0)

如果这是你想要的:

  • 始终显示表单
  • 如果有人提交了表单
  • ,请打印MD5哈希

你可以像这样完成它。它表示如果键值为输入的POST值,则修剪任何前导和尾随空格并打印该值的MD5哈希值。

<?php

if (!empty($_POST['input']))
{
    echo md5(trim($_POST['input']));
}

?>