带有if、if-else和else的PHP Redierct

带有if、if-else和else的PHP Redierct,php,Php,你好,我有一个关于php的问题 我想创建一个特殊的重定向脚本,但它不起作用。我想检查“关键字”是否在列表中。如果在列表中,则使用“header location”重定向,如果不使用从$\u get获得的值重定向到searchmachine <?php $q=$_get['q'] if ($q = tw) { header('Location: http://twitter.com'); exit; } else if ($q = fb) { header('Location: http:/

你好,我有一个关于php的问题

我想创建一个特殊的重定向脚本,但它不起作用。我想检查“关键字”是否在列表中。如果在列表中,则使用“header location”重定向,如果不使用从$\u get获得的值重定向到searchmachine

<?php
$q=$_get['q']
if ($q = tw) {
header('Location: http://twitter.com');
exit;
} else if ($q = fb) {
header('Location: http://fb.com');
exit;
} else {
header('Location: https://searchit.com/search?q='$q'+ ');
}
?>
等等。全部在文本列表中

你应该这样写

$q=$_GET['q']

而不是$\u-get它将是$\u-get['q'],或者您可以使用$\u-REQUEST['q']

和使用

error_reporting(E_ALL);
ini_set('display_errors', true);

查看页面上是否有错误。

代码的最后一部分:页眉位置:https://searchit.com/search?q=“$q”+”;似乎是空白PANGE的问题,也被称为死亡的白页:

尝试标题的位置:https://searchit.com/search?q=' . $q

您还忘了在:$q=$\u get['q']后面加一个分号

您也可以尝试以下设置:

switch($_GET['q'])
{
  case 'tw':
    header('Location: http://twitter.com');
    exit;
  case 'fb':
    header('Location: http://fb.com');
    exit;
  default:
    header('Location: https://searchit.com/search?q=' . urlencode($_GET['q']));
}

名单在哪里?举一个列表的例子。你在哪里定义$q?对不起,我忘记了$q=但即使有了这段代码,它仍然不起作用。我只看到一个空白页。你肯定在生成警告/错误。/。。尝试使用echo而不是重定向进行调试。以及定义了“tw”或“fb”的位置?使用错误报告-1打开错误报告;作为脚本的第一行。然后在字符串周围使用“或”。然后学习=、=、==之间的差异。您应该得到一个未定义的常量错误。不是向下投票。但问题中的代码只是一个片段。他可能在脚本的其他地方定义了它。你不能百分之百肯定地这么说。谢谢你的回答。我稍微编辑了一下代码。但是当我将代码更新为$时,页面将保持为空。它不会将我重定向到另一个页面。您是否使用了$_REQUEST['q']?使用$请求和打印$请求;您可以看到您得到了什么请求。并且您没有在$q=$\u GET['q']之后使用分号
switch($_GET['q'])
{
  case 'tw':
    header('Location: http://twitter.com');
    exit;
  case 'fb':
    header('Location: http://fb.com');
    exit;
  default:
    header('Location: https://searchit.com/search?q=' . urlencode($_GET['q']));
}