如何使用PHP在URL中传递多个参数

时间:2018-07-05 08:04:11

标签: php html

   if(isset($_POST['submit'])){
        $sem = $_POST['semester'];
        $sess = $_POST['session'];
         $sexam = $_POST['exam'];
         $_SESSION['sem'] = $sem;
         $_SESSION['sess'] = $sess;
         $_SESSION['exa'] = $sexam;}?>

       <a href="print.php?id=<?php echo 
       array($_SESSION['sem'],$_SESSION['sess'],$_SESSION['exam']);  ?>" 
        target="_blank" class="btn btn-default"><i class="fa fa-print"></i> Print</a>

如何将URL中的这些SESSION变量传递给另一个页面?

2 个答案:

答案 0 :(得分:1)

会话是一种用于存储要在多个页面中使用的信息(以变量形式)的方法。与cookie不同,该信息不会存储在用户计算机上。

所以;会话变量保存有关一个用户的信息,并且可用于一个应用程序中的所有页面。

开始一个PHP会话

第1页:

<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

</body>
</html>

第2页:

<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>

<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>

</body>
</html>

请注意,会话变量不会单独传递给每个新页面,而是从我们在每个页面session_start()开头打开的会话中检索它们。

请参阅本教程: PHP 5 Sessions

答案 1 :(得分:1)

无需使用$ _SESSION变量

<?php
if( isset( $_POST['submit'] ) ) {
    $sem = $_POST['semester'];
    $sess = $_POST['session'];
    $sexam = $_POST['exam'];
    $_SESSION['sem'] = $sem;
    $_SESSION['sess'] = $sess;
    $_SESSION['exa'] = $sexam;

    $urlFromSession = "semester={$_SESSION['sem']}&session={$_SESSION['sess']}&exam={$_SESSION['exa']}";
    $urlFromPost = "semester={$_POST['semester']}&session={$_POST['session']}&exam={$_POST['exam']}";
}
?>

<a href="print.php?<?= $urlFromSession ?>" target="_blank" class="btn btn-default"><i class="fa fa-print"></i> Post - urlFromSession</a><br/>

<a href="print.php?<?= $urlFromPost ?>" target="_blank" class="btn btn-default"><i class="fa fa-print"></i> Post - urlFromPost</a><br/>

URL将会是这样的 print.php?semester = test&session = test&exam = test

您将在print.php页面中获取参数

<?php
echo $_GET['semester'];
echo $_GET['session'];
echo $_GET['exam'];