2012-11-07 49 views
0

我使用header()从一个页面传递VAR user到另一个:如何使用通过header()函数传递的变量在PHP

header("Location: temp.php? user = $user"); 

的变量获得通过,并表现出对另一个网址页。

但我不知道如何在页面中使用这些变种user。请帮忙。

+2

使用$ _GET [ '用户'] – GBD

+1

那不是通过 “通过头”,它是通过* URL传递*。 – deceze

回答

5

如果“其他页面”是在PHP中,你只需要:

$user=$_GET['user']; 

编辑:如果你不知道你是否会收到“用户”,并希望避免你应该做的错误信息:

if(isset($_GET['user'])){ 
    $user=$_GET['user']; 
}else{ 
    //user was not passed, so print a error or just exit(0); 
} 
+0

我试着在“temp.php”这样做,但它与 回应**注意:未定义指数:用户在C:\ XAMPP \ htdocs中\项目\学历教育\ temp.php上线12 ** 我该怎么做? 抱歉中号如果用户没有将发生该错误的URL定义的新手 –

+1

。如果你去了temp.php?user = batman那么它不会出错。否则,如果你只是去temp.php它会出错。你可以把一个在围绕此echo语句来测试是否呼应,以防止这种 – Chris

+0

添加了一个编辑我的回答给的,如果变量传递如何控制一个例子之前就存在。 – Naryl

1

,如果你正在使用这则传递值

header("Location:temp.php? user = $user"); 

上temp.php你必须使用

$var=$_GET['user']; 

获取值,现在$ var包含您传递的值。

+0

我试着在“temp.php”这样做,但它与**注意回应:未定义指数:用户在C:\ XAMPP \ htdocs中\项目\上线12 **学历教育\ temp.php我该怎么办?对不起,新手 –

+0

你可以检查你的temp.php中的这一个。 print_r($ _ GET); 检查,如果你正在使用的用户值的数组中的数组 –

4

page1.php中

<?php 
    $user = "batman"; 
    header("Location:temp.php?user=".$user); 
    exit(); 
?> 

temp.php用户=蝙蝠侠(你被重定向到这里)

<?php 
    if($_GET){ 
     echo $_GET['user'] // print_r($_GET);  
    }else{ 
     echo "Url has no user"; 
    } 
?> 

或者你可以使用一个$ _SESSION - 但这很容易的事情复杂化

page1.php中

<?php 
    session_start(); 
    $_SESSION['user'] = "batman"; 
    header("Location:temp.php); 
    exit(); 
?> 

temp.php

<?php 
    session_start(); 
    echo $_SESSION['user']; 
    unset($_SESSION['user']); // remove it now we have used it 
?> 
+0

感谢名单都...它固定它。 –

+0

如果我们的答案有帮助,不要忘记选择答案作为解决方案:) – Chris