【问题标题】:$_SESSION[] array elements in pHppHp 中的 $_SESSION[] 数组元素
【发布时间】:2016-04-13 05:57:57
【问题描述】:

如何在同一网站的多个页面之间使用$_SESSION[]数组元素?以及何时/如何摧毁它们? 错误:

变量未定义..

如果你有更好的建议,请帮助我。

action.php的代码

<?php
include 'someheader.php';
session_start();
if(isset($_POST['submit'])
{
    $_SESSION['name']=$_POST['name'];

    //Some Codes Here

}
include 'footer.php';
?>

同一目录下的其他php文件

<?php
if(isset($_SESSION['name']))
{
     echo "Hi $_SESSION['name'].\n";
     echo "You have been logged in.";
 }
?>

【问题讨论】:

  • 你忘记了 session_start();在第二个 php 文件的开头。
  • 感谢大家的回复:)

标签: php html session session-variables


【解决方案1】:

每个 php 文件必须有一个 session_start() 才能访问会话变量。至于如何销毁,请查看session_destroy函数。什么时候摧毁它们?基本上,当您不再需要它们时,您就会这样做,例如当您注销时。

【讨论】:

    【解决方案2】:

    在php中,最好将session_start()放在php页面的first statement行。在您计划使用任何 $_SESSION 变量之前,在每页的最顶部使用一次。

    <?php
    session_start();
    

    在会话中获取值:

    $username = $_SESSION['username'];
    $password = $_SESSION['password'];
    

    删除会话中的值:

    unset($_SESSION['temp']);
    

    销毁会话:

    session_destroy();
    

    希望这会有所帮助。

    【讨论】:

    • 另外值得注意的是,您可以将会话设置为通过session.auto_start自动启动
    【解决方案3】:

    您应该将此作为每个使用$_SESSION的文件的第一行@

    session_start();
    

    这使它在当前脚本中可用。这是basics,请参阅示例后面的注释。否则,你的用法是正确的。

    【讨论】:

      猜你喜欢
      • 2013-05-28
      • 2023-04-07
      • 2014-05-10
      • 1970-01-01
      • 2013-10-22
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多