标题php从列表中获取方法
在test.php中,我有以下代码:标题php从列表中获取方法,php,Php,在test.php中,我有以下代码: <php? header ('Location: $link '); $link = $_GET["id"] ss1 = 'http://drrd.com'; ss2 = 'http://drrd2.com'; ss3 = 'http://drrd3.com'; ss4 = 'http://drrd4.com'; ss5 = 'http://drrd5.com'; ss6 = 'http://drrd6.com'; ss7 = 'http
<php?
header ('Location: $link ');
$link = $_GET["id"]
ss1 = 'http://drrd.com';
ss2 = 'http://drrd2.com';
ss3 = 'http://drrd3.com';
ss4 = 'http://drrd4.com';
ss5 = 'http://drrd5.com';
ss6 = 'http://drrd6.com';
ss7 = 'http://drrd7.com';
?>
当我转到test.php?id=ss3时,页面应该将我重定向到
我该怎么做呢?试试这个:
<?php
ob_start();
$links = array(
'ss1' => 'http://drrd.com',
'ss2' => 'http://drrd2.com',
'ss3' => 'http://drrd3.com',
'ss4' => 'http://drrd4.com',
'ss5' => 'http://drrd5.com',
'ss6' => 'http://drrd6.com',
'ss7' => 'http://drrd7.com'
);
$id = $_GET['id'] ? ($links[$_GET['id']] ? $_GET['id']: 'ss1') : 'ss1';
header ('Location:'.$links[$id]);
ob_flush();
?>
试试这样的 注意:如果querystring上的?id与数组键不匹配,则它将失败
<?php
$locations = array(
'ss1' => 'http://drrd.com',
'ss2' => 'http://drrd2.com',
'ss3' => 'http://drrd3.com',
'ss4' => 'http://drrd4.com',
'ss5' => 'http://drrd5.com',
'ss6' => 'http://drrd6.com',
'ss7' => 'http://drrd7.com'
);
$link = $_GET['id'];
header ("Location: {$locations[$link]}");
当您执行header'Location:$link'时,它试图将您重定向到NULL,所以首先您应该设置$link变量
试试这个
$links = array(
0=>'Fist Link',
1=>'Second Link',
//other links
);
if (isset($_GET['id']) && array_key_exists($_GET['id'],$links))
header("Location: ".$links[$_GET['id']])
你可以这样做
<?php
$links = Array(
'ss1' => 'http://drrd.com',
'ss2' => 'http://drrd2.com',
'ss3' => 'http://drrd3.com',
'ss4' => 'http://drrd4.com',
'ss5' => 'http://drrd5.com',
'ss6' => 'http://drrd6.com',
'ss7' => 'http://drrd7.com');
if (in_array($_GET['id'], array_keys($links)))
{
$location = 'Location: '.$links[$_GET['id']];
header($location);
}
else
{
// If the id is not valid, you can write an error message here.
}
?>
现在,如果我做test.php?id=ss8怎么办?或者像test.php?id=pancakes?@RichardA这样的任何东西,然后它失败了,就像我在描述中指出的那样。OP至少可以自己检查错误,这应该只是将它们指向正确的方向。它仍然会将它们重定向到代码中的null。无法修改标头信息-标头已发送by@PortaltvRomania您正在输出此代码之前的其他内容,或者在打开之前有空格无法修改标头信息-已由发送的标头无法修改标头信息-标题已发送by@PortaltvRomania Updated@PortaltvRomania添加的ob_开始和ob_结束\u刷新无法修改标题信息error@PortaltvRomania你能再试一次吗?