如何通过会话传递变量

时间:2018-04-23 10:49:29

标签: php variables session

我知道还有其他帖子,但我仍然无法看到代码不正确的地方。

我试图通过会话将变量从一个页面传递到另一个页面:下面是两个页面;请原谅一些变量名称,因为我只是快速绘制它们。

main.php

<?php
    session_start();
    session_unset();

    if(isset($_POST['submit']))
    {
        $_SESSION['itemId'] = $_POST['firstName'];
        echo "name = " . $_SESSION['itemId'];
    }
?> 
<!DOCTYPE html>
<html>
    <head> 

    </head>
    <body>
       <form action="result.php" method="POST">
          First name: 
          <input type="text" name="firstName" placeholder="First Name">
          <br>
          <input type="submit" name="submit">
       </form>
   </body>
</html>

result.php

<?php
   session_start();

   echo $_SESSION['itemId'];

   session_destroy();
?>
<!DOCTYPE html>
<html>
   <head>

   </head>
   <body>

   </body>
</html>

以前我没有在那里没有设置。然而,它并没有产生任何影响。

该值将存储在会话中,而不是将其传递给另一个页面。

2 个答案:

答案 0 :(得分:0)

主页应如下所示:

<?php
session_start();
//remove session_unset();

if(isset($_POST['submit']))
{
    $_SESSION['itemId'] = $_POST['firstName'];
    echo "name = " . $_SESSION['itemId'];
}
?> 
<!DOCTYPE html>
<html>
<head> 

</head>
<body>
   <form action="result.php" method="POST">
      First name: 
      <input type="text" name="firstName" placeholder="First Name">
      <br>
      <input type="submit" name="submit">
   </form>

答案 1 :(得分:0)

删除session_unset(); start_session()之后的行 以及为什么你在结果页面中销毁会话。 如果你想破坏那么 将会话值存储在变量

$id = $_SESSION['itemId'];
echo $id;

此代码将帮助您