似乎无法传递POST的SESSION变量

时间:2014-04-05 15:55:46

标签: php session

很抱歉,如果这是重复的,但我真的找不到任何可以解决我的问题。我可以传递数字和字符串,例如$ _SESSION [' blabla'] =" 123&#39 ;;但我无法从文本字段和提交按钮传递此$ _POST值。

第1页(sessions.php)

<?php session_start(); ?>

!doctype东西在这里

<body>
<form id="form1" name="form1" method="post"  action="sessions2.php">
  <label>
    <input type="text" name="damn" id="damn" />
    <input type="submit" name="submit" id="submit" value="Submit" />

  </label>
</form>

<?php

$omg = $_POST['damn'];

$_SESSION['damn'] = $omg;
echo $_SESSION['damn'] ;


?>

第2页(sessions2.php)

<?php
session_start();
$fires = $_SESSION['damn'];
echo "wth";
echo $_SESSION['damn'];
?>

PS。抱歉这些名字......我真的很难过。

2 个答案:

答案 0 :(得分:2)

您需要将从$_POST读取的代码放在您提交表单的文件中。

目前您的流程是:

  1. 获取sessions.php
  2. 的请求
  3. 将表单发送到浏览器
  4. $_POST['damn'](未定义)分配给会话。
  5. 用户提交表单
  6. 获取sessions2.php
  7. 的请求
  8. 忽略$_POST(现已填充)
  9. 从会话中读取(变量仍未定义)。
  10. damn填写在表单提交请求(步骤4/5)中,而不是您尝试阅读它的请求(步骤1)。

答案 1 :(得分:1)

sessions2.php

// you POST "damn" variable via form, using post method, so:
$fires = $_POST['damn'];
// and:
$_SESSION['damn'] = $fier;
// or 
$_SESSION['damn'] = $_POST['damn'];

文件sessions.php中的PHP代码不起作用,因为在表单操作中你有session2.php。