http://pastebin.com/RE31BRSQ
当我做一个
if ( empty($_POST['name']) ) {
$name = 'anon';
} else {
$name = $_POST['name'];
}
名称始终是匿名的,即使有人在字段中输入字符也是如此。
也
if ( empty($_POST['title']) ) {
} else {
$title = sha1( $_POST['title'] );
}
我怎样才能让它在['title']
前面插入一个!
?
不要依赖empty()
.它可以转身咬你。请注意,像0
这样的东西被认为是"空的",即使任何理智的人都不会。
我看不出您的第一个示例有什么问题,因此请确保您表单的"名称"字段实际上称为"名称"。这些键区分大小写,因此$_POST['Name']
与$_POST['nAmE']
完全不同。
至于你的第二个例子,如果你的意思是!
"not"运算符,你会这样做
if (!empty($_POST['title'])) {
...
}
1.) 您真的确定您的输入字段名为 name
吗?我还建议使用isset()
:
if ( isset($_POST['name']) && !empty($_POST['name']) )
{
$name = $_POST['name'];
}
else
{
$name = 'anon';
}
2.) 使用串联运算符(如果要在哈希之前在所有标题前面加上!
):
$title = sha1( '!'.$_POST['title'] );