所以我有一个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);
?>
答案 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)
如果这是你想要的:
你可以像这样完成它。它表示如果键值为输入的POST值,则修剪任何前导和尾随空格并打印该值的MD5哈希值。
<?php
if (!empty($_POST['input']))
{
echo md5(trim($_POST['input']));
}
?>