【问题标题】:<?php echo $_SESSION doesnt display on site<?php echo $_SESSION 不显示在网站上
【发布时间】:2015-10-20 10:28:17
【问题描述】:

我下载了一个 php 登录源,现在它可以工作了,它甚至可以登录。当它登录时,它会显示你的名字

<?php echo $_SESSION['username']; ?>

但我也想通过放置来显示平衡

<?php echo $_SESSION['balance']; ?>

但是不显示余额?

https://gyazo.com/7cd0a7888ac976590391888925d0c18f

我将余额表添加到现有表中。

我真的不知道该怎么办! :(

【问题讨论】:

  • 您知道必须先将其添加到会话中才能回显它吗?
  • 您已经开始会话了吗?与 session_start();
  • 在尝试输出内容之前,您是否做过$_SESSION['balance'] = "initial value";?变量不会被魔法自动填充。
  • 对不起,我刚开始编程,我应该把 session_start() 放在哪里?
  • $_SESSION 的内容不会自动映射到数据库表的内容,如果这是您认为应该发生的情况。它不是 - 相反,如果你想以这种方式使用它,你应该从数据库表中读取内容并将其插入到变量中。

标签: php mysql session


【解决方案1】:

请插入;

<?php session_start(); ?>

在您要访问$_SESSION 全局数组的每个页面中。

在你的情况下;

<?php session_start(); ?>
$_SESSION['balance'] = 1000;
echo $_SESSION['balance']; // will output 1000.

假设这个页面是 set-session-value.php 并且你想在 get-session-value.php 中获取这个 $_SESSION['balance'] 值,请执行以下操作get-session-value.php 文件;

<?php session_start(); ?>
echo $_SESSION['balance'];

【讨论】:

    【解决方案2】:

    在你的 login.php 中为用户名设置会话后添加这一行

    $_SESSION["balance"]=$balance;
    

    在您的家中,始终建议您检查会话是否存在,然后将其打印出来。所以,

    if(isset($_SESSION["balance"])){echo $_SESSION["balance"]; }
    

    【讨论】:

      【解决方案3】:

      start session使用前

      <?php
      session_start();//start session
      
      $_SESSION['username']='abc';//Set value session
      $_SESSION['balance']=10;
      
      echo $_SESSION['username']; //Use value of session
      echo $_SESSION['balance'];
      ?>
      

      请使用此流程进行会话使用

      【讨论】:

      • 我认为用户已经使用了session_start(),因为他提到了类似于用户名的打印余额,但如果他没有,那么你提到它很好。
      【解决方案4】:

      当您登录到您的应用程序时。之后您应该希望将以下代码添加到页面顶部。

      session_start();
      $_SESSION['username'] = $userNameValue;//set user name
      echo $_SESSION['username'];
      

      然后您应该希望使用查询从您的user table 获取与谁登录用户相关的数据。

      Example
      
         $query = "SELECT * YOURTABLENAME WHERE username='$_SESSION['username']'";
         mysql_query($query, $connection) or die(mysql_error());
         $data = mysql_fetch_array($query);
      

      然后您可以将这样的值分配给 $_SESSION['balance'];

      $_SESSION['balance'] = $data['balance'];
      
      echo  $_SESSION['balance']; 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-08
        • 2021-10-26
        • 2014-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多