当我做一个
if ( empty($_POST['name']) ) {
$name = 'anon';
} else {
$name = $_POST['name'];
}
即使有人在字段中输入字符,该名称也始终是匿名的。
还,
if ( empty($_POST['title']) ) {
} else {
$title = sha1( $_POST['title'] );
}
我怎样才能使它有一个!
插入的前面['title']
?
当我做一个
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']
.
至于你的第二个例子,如果你的意思!
是“非”运算符,你会这样做
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'] );