如何通过起始网址的名称操纵目标网址?
我的网址是
www.example.com/index.php?ask_question
我在目标网址
中执行以下操作 if ($_GET['ask_question']) {
// Problem HERE, since if -clause is always false
if ( $login_cookie_original == $login_cookie )
{
include "/codes/handlers/handle_login_status.php";
header("Location: /codes/index.php?ask_question");
die("logged in - send your question now");
}
}
答案 0 :(得分:4)
if (isset($_GET['ask_question'])) {
...
如果您使用$ _GET的print_r(),您会看到
Array
(
[ask_question] =>
)
表示ask_question已设置,但为空,因此测试为false。
答案 1 :(得分:2)
$location = "test.php";
if(isset($_SERVER['QUERY_STRING']))
{
header("Location:".$location . "?" . $_SERVER['QUERY_STRING']);
}
else
{
header("Location:".$location);
}
答案 2 :(得分:1)
您可以检查$ _SERVER ['QUERY_STRING']变量,看它是否包含'ask_question'
编辑:修正拼写错误
答案 3 :(得分:1)
我认为您想用以下内容替换它:
if (isset($_GET['ask_question'])) {
只有在URL中包含它才会出现。
答案 4 :(得分:1)
您可以使用$_GET
超级全局检索问号后面的值。对于示例?ask_question=true
。
//is ask_question true?
if($_GET['ask_question'] == 'true') {
echo 'ask_question is true';
} else {
echo 'ask_question is not true';
}
对于没有值的变量(例如?hello
),请以这种方式使用$_GET
:
if(isset($_GET['hello'])) {
echo 'hello is there';
} else {
echo 'hello is not there';
}
您已经提出了很多关于PHP的基本问题,而您似乎并没有掌握该语言的工作原理。我建议您在下一个问题之前仔细阅读文档。