【问题标题】:Storing value used in POST form in a PHP variable将 POST 表单中使用的值存储在 PHP 变量中
【发布时间】:2014-12-07 13:23:40
【问题描述】:

我正在使用一个 POST 表单将数据从一个 PHP 文件传输到另一个.. 没有问题。但是,我正在尝试将会话数据存储到 PHP 变量中。

<?php
if(!isset($_SESSION['login_user']))
{
    session_start();

    echo "<form action='../account.php' method='post'>";
        echo "<p><b>Username: </b><input id='uname' type='username' name='uname' align='middle'></p>";
        echo "<p><b>Password: </b><input id='pword' type='password' name='pword' align='middle'></p>";
        echo "<p><input type='Submit' style='width:15%'></p>";
    echo "</form>";
}
?>

我需要在单击提交时将“uname”值存储为 $_SESSION['login_user'],但这不应阻止 POST 到下一页。我该如何处理?

【问题讨论】:

  • 只需使用account.php 设置会话变量。无论如何,表格将在那里处理\。当然也不要忘记在那里开始会话
  • 我想过这个.. 但我觉得如果在这个文件中完成会更干净。无论哪种方式,如果我采用这种方法,我应该在那里执行 session_start() 还是在这个文件中执行?
  • 是的,当然您也应该在那里开始会话。你需要。您无法处理同一文件中的输入,因为您明确将 action="" 设置为 account.php ,其中 post 值将在那里,除非您改变主意并处理同一文件中的 post 值。那么你也可以在那里处理会话的设置

标签: php html


【解决方案1】:

session_start() 应该在你在 php 中做任何事情之前初始化

在你的 account.php 中初始化会话:

<?php
session_start();
$_SESSION['login_user'] = $_POST['uname'];
//rest of the stuff
?>

【讨论】:

    【解决方案2】:

    在account.php中,做如下赋值:

    $_SESSION['login_user'] = $_POST['uname'];
    

    【讨论】:

      猜你喜欢
      • 2019-08-23
      • 2015-06-25
      • 1970-01-01
      • 2014-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 1970-01-01
      相关资源
      最近更新 更多