标题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

在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://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你能再试一次吗?