似乎无法使用语法:
<?php
if isset $_POST['tutorial'] {
header('Location: /phonebooks?tutorial=1b');
} else {
header('Location: /phonebooks?phonebook_created=1');
};
?>
我做错了什么?
答案 0 :(得分:3)
您在if条件和$_POST['tutorial']
附近缺少括号,这是isset
的参数。它应该是:
<?php
if (isset($_POST['tutorial']))
{
header('Location: /phonebooks?tutorial=1b');
}
else
{
header('Location: /phonebooks?phonebook_created=1');
}
?>
正如评论中所指出的,Location
标题也需要绝对网址(因此,您需要指定/phonebooks?tutorial=1b
而不是http(s)://yourdomain.com/phonebooks?tutorial=1b
。
答案 1 :(得分:3)
好的,首先,您需要使用括号。多个括号。
第一组需要绕过if结构的内容:
if ( ... ) {
第二组需要绕过isset()
函数调用:
isset($_POST['tutorial'])
这条线变为:
if (isset($_POST['tutorial'])) {
您还有另一个问题。不要将位置标头与相对网址一起使用。这违反了HTTP规范。总是使用绝对URL,否则你可能会破坏一些网络服务器(我知道IIS讨厌它)或浏览器......