当我做
时if ( empty($_POST['name']) ) {
$name = 'anon';
} else {
$name = $_POST['name'];
}
即使有人在字段中输入字符,该名称也始终为anon。
另外,
if ( empty($_POST['title']) ) {
} else {
$title = sha1( $_POST['title'] );
}
我怎样才能在!
前面插入['title']
?
答案 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'] );