通过表单从页面到页面发送带有变量的会话

时间:2016-03-05 06:07:28

标签: php session

你好我有一个表格和这个表格,当我提交它,它转到另一个页面,但我的问题是,当我尝试读取其他页面上的会话值时,它不会工作。工作我真的不知道是什么问题。

我的第一页有我的表格

<?php session_start(); ?>
<strong>Test Form</strong>
<form action="payment.php" method="post">
<input type="text" name="yourName"/>
<input type="submit" name="Submit" value="Submit!" />
</form>




<?php

if(isset($_POST['Submit'])) {
  $yourName = $_POST['yourName'];


  if (isset($yourName) && !empty($yourName)) {
    $_SESSION['yourName'] = $yourName;
  }



  if(isset($yourName) && !empty($yourName)) {
    header('Location:payment.php');
  }
}
?>

我收到的第二页我想要展示我的价值观

<?php
session_start();

?>

<?php

if(isset($_SESSION['yourName'])){
echo "<div>";
echo htmlentities($_SESSION['yourName']);

echo "</div>";
}else{
    echo "fail";
}


// Finally, destroy the session.
?>

<?php session_destroy();
 ?>

2 个答案:

答案 0 :(得分:0)

以流畅的方式编写代码。这些不应该是action,因为您将表单提交到同一页面然后重定向其他页面。

<?php session_start(); ?>
<strong>Test Form</strong>
<form action="" method="post">
<input type="text" name="yourName"/>
<input type="submit" name="Submit" value="Submit!" />
</form>
<?php
if(isset($_POST['Submit'])) {
  $yourName = $_POST['yourName'];
  if (isset($yourName) && !empty($yourName)) {
    $_SESSION['yourName'] = $yourName;
    header('Location:payment.php');
  } 
}
?>

答案 1 :(得分:-1)

好的,所以我错过了一些事情,我找到了解决方案 首先:当您从页面发送数据到页面时,操作应为空action="" 然后我的第二个错误是,在我检查后发现我发现我有所不同所以我没有在会话中检查我的输入名称,所以我使它们变得相同。 感谢&#39; S

工作的是:第一页

<?php session_start(); ?>
<strong>Test Form</strong>
<form action="" method="post">
<input type="text" name="yourName"/>
<input type="submit" name="Submit" value="Submit!" />
</form>




<?php

if(isset($_POST['Submit'])) {
  $yourName = $_POST['yourName'];


  if (isset($yourName) && !empty($yourName)) {
    $_SESSION['yourName'] = $yourName;
  }



  if(isset($yourName) && !empty($yourName)) {
    header('Location:payment.php');
  }
}
?>

第二页是:

<?php
session_start();

?>

<?php

if(isset($_SESSION['yourName'])){
echo "<div>";
echo htmlentities($_SESSION['yourName']);

echo "</div>";
}else{
    echo "fail";
}


// Finally, destroy the session.
?>

<?php session_destroy();
 ?>