【问题标题】:$POST data in $SESSIONS$SESSIONS 中的 $POST 数据
【发布时间】:2016-11-19 11:47:58
【问题描述】:

为什么它不起作用?

index.php

<strong>Your name:</strong>
<form action="name.php" method"post">
  <input type="text" name="username"/>
  <input type="submit" name="Submit" value="Submit!" />
</form>
<?php 
  session_start();
  $_SESSION['post-data'] = $_POST;
?>

name.php

<strong>Your name is:</strong>
<strong>
  <?php 
    session_start();
    echo $_SESSION['post-data'];
  ?>
</strong>

name.php 打印我:

你的名字是:数组

我该如何解决这个问题?

【问题讨论】:

  • 尝试使用 print_r 理解或回显 $_SESSION['post-data']['username'];
  • session_start(); 在 HTML 之前
  • 会话总是在数组中你不能echo会话变量使用$_SESSION['post-data']
  • @Kitson88 我把 session_start 放在 html 之前,但不能再工作了
  • @jimmynew 在下面看到我的回答。

标签: php session post


【解决方案1】:

首先,在加载任何 HTML 之前,session_start(); 应始终放在文档的顶部。

index.php

//No need to start session here as no $_SESSION variables needed. 

<strong>Your name:</strong>
<form action="name.php" method="post">
<input type="text" name="username"/>
<input type="submit" name="Submit" value="Submit!" />
</form>

其次,将您的$_POST 数据发布到name.php 后分配给$_SESSION

name.php

<?php
session_start();
$_SESSION['username'] = $_POST['username'];
?>

<strong>Your name is:</strong>
<strong><?php echo $_SESSION['username'];?></strong>

如果您想查看数组中的内容以进行调试,则可以使用var_dump()

var_dump() 示例

var_dump($_POST);

var_dump($_SESSION);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多