如何在头函数后获取url值?

时间:2014-01-31 21:46:50

标签: php

和平与你们所有人, 我有一个小问题,我不知道如何使用$_GET函数使用header方法存储我从网址获取的值,这里是代码,所以你可以得到我说的: -

我有index.php,其中包含值的链接: -

<?php
    echo "<a href='test.php?id=5&s=6'>Click Here</a> <br>"; 
?>

这是test.php,它应该从这个url获取值: -

<?php

    if(isset($_GET['id'])&&isset($_GET['s'])){
        echo $_GET['id'].$_GET['s'];
        header('location:test.php');
    }
?>

我不知道如何从使用header函数获取网址中的值,当我不使用header函数时,我能正常得到它我该怎么做才能存储使用header函数重定向后使用它们的变量?提前谢谢

4 个答案:

答案 0 :(得分:1)

使用会话变量跨页面存储变量。在每个页面的顶部添加session_start()....以解析会话变量,然后执行以下操作:

    if(isset($_GET['id']) && isset($_GET['s'])){
      $_SESSION['id'] = $_GET['id'];
       header('location:test.php');
       exit;
     }

现在,在test.php文件中,如果您在页面顶部添加session_start,则可以访问该变量:$_SESSION['id']

答案 1 :(得分:0)

header('location:test.php');在您看到输出之前重定向页面。

注意:如果您已经使用header()完成了任何输出,则调用echo不起作用,因此您必须进行某种输出缓冲。但问题是,由于立即重定向,您没有看到echo输出。

如果以后需要,您应该将它们保存在$_SESSION$_COOKIE或数据库中。否则,它们会在脚本结束时消失。

答案 2 :(得分:0)

当您重定向到``test.php时,您可以使用

将这些变量发送到下一页
header('location:test.php?id=' . $_GET['id'] . '&s=' . $_GET['s']);

然后从您的test.php文件中使用

if( isset($_GET['id'], $_GET['s']) ) {
    echo $_GET['id'] . ' ' . $_GET['s'];
}

此外,您可以使用session存储后续请求的内容,请检查Basic usage of session

答案 3 :(得分:0)

一个选项是重新发送变量:

if (isset($_GET['id']) && isset($_GET['s'])){
    echo $_GET['id'].$_GET['s'];
    header('location:test.php?' . $_SERVER['QUERY_STRING']);
}

请注意这里的循环......