PHP获取URL重定向

时间:2015-12-31 08:44:46

标签: php .htaccess parameters

嘿,我有以下问题/思考问题

<?php
$fname=$_GET['buyer_first_name'];
$lname=$_GET['buyer_last_name'];
$email=$_GET['buyer_email'];
$orderid=$_GET['order_id']

?>

此参数将由GET进入,并且在他们进入/我希望自动重定向到以下URL并带有上述参数

www.mydomain.com/query.php?k=test&action=add&r=$orderid&n=$email

我该怎么做?我的主要问题是我如何在网址中设置不同的参数..

6 个答案:

答案 0 :(得分:1)

您可以先检查$_SERVER['REQUEST_METHOD']是否为'GET'并检查是否已设置所有预期参数。 然后,您可以使用http_build_query构建您的网址,并使用header转到您的网址。

if (
    $_SERVER['REQUEST_METHOD'] === 'GET' &&
    isset($_GET['buyer_first_name']) &&
    isset($_GET['buyer_last_name']) &&
    isset($_GET['buyer_email']) &&
    $_GET['order_id']
) {
    $params = array(
        'k' => 'test',
        'action' => 'add',
        'r' => $_GET['order_id'],
        'n' => $_GET['buyer_email']
    );

    $url = 'www.mydomain.com/query.php?' .  http_build_query($params);
    header("location:" . $url);
}

答案 1 :(得分:0)

header("location: www.mydomain.com/query.php?k=test&action=add&r=$orderid&n=$email");

如果您使用标题(&#39;位置...请确保页面上没有任何内容,否则您将收到已经发送的标题,输出已开始....&#34 ;错误。

答案 2 :(得分:0)

这几乎应该是你想要完成的事情

<?php
    if( $_SERVER['REQUEST_METHOD']=='GET' && isset( $_GET['buyer_first_name'],$_GET['buyer_last_name'],$_GET['buyer_email'],$_GET['order_id'] ) ){

        header( "location: www.mydomain.com/query.php?k=test&action=add&r={$_GET['order_id']}&n={$_GET['buyer_email']}" );

    }
?>

答案 3 :(得分:0)

http_build_query是一个很酷的功能

$parameters = array(
  'k'      => 'test',
  'action' => 'add',
  'r'      => $orderid,
  'n'      => $email,
);

$target = 'www.mydomain.com/query.php';
$url = $target.'?'.http_build_query($parameters);
header("location: $url");

答案 4 :(得分:0)

您可以使用如下:

<?php
$fname='';$lname='';$email='';$orderid='';
if(isset($_GET['buyer_first_name']))
    $fname=stripslashes($_GET['buyer_first_name']);
if(isset($_GET['buyer_last_name']))
    $lname=stripslashes($_GET['buyer_last_name']);
if(isset($_GET['buyer_email']))
    $email=stripslashes($_GET['buyer_email']);
if(isset($_GET['order_id']))
    $orderid=stripslashes($_GET['order_id']);
$fullurl = "www.mydomain.com/query.php?k=test&action=add&r=".$orderid."&n=".$email;
header("location:".$fullurl);
?>

答案 5 :(得分:0)

$querystring = "www.websitedomain.com/redirect.php?".$_SERVER['QUERY_STRING'];
header('location:'.$querystring);