不工作:给空字段一个值 - php

时间:2012-05-01 18:50:38

标签: php sql if-statement

http://pastebin.com/RE31BRSQ

当我做

if ( empty($_POST['name']) ) {
    $name = 'anon'; 
} else {
    $name = $_POST['name']; 
}

即使有人在字段中输入字符,该名称也始终为anon。

另外,

if ( empty($_POST['title']) ) {

} else {
    $title = sha1( $_POST['title'] );
}

我怎样才能在!前面插入['title']

2 个答案:

答案 0 :(得分:1)

不要依赖empty()。它可以转身咬你。请注意,0之类的内容considered为“空”,即使任何理智的人都不会。

我看不出您的第一个示例有什么问题,因此请确保您的表单的“名称”字段实际上称为“名称”。这些键区分大小写,因此$_POST['Name']$_POST['nAmE']完全不同。

至于你的第二个例子,如果你的意思是!,就像在“not”运算符中一样,你可以这样做

if (!empty($_POST['title'])) {
   ...
}

答案 1 :(得分:0)

1。)您确定您的输入字段名为name吗? 我还建议使用isset()

if ( isset($_POST['name']) && !empty($_POST['name']) )
{
  $name = $_POST['name'];
}
else
{
  $name = 'anon';
}

2.。)使用连接运算符(如果要在散列之前添加!所有标题):

$title = sha1( '!'.$_POST['title'] );