【问题标题】:Undefined index: steamid未定义索引:steamid
【发布时间】:2017-09-09 07:02:23
【问题描述】:

我一直在寻找解决方案,但找不到,所以最好的地方是 StackOverFlow。

我不断收到错误 Undefined index: steamid(Line 54) 错误来自 $steamid = $_SESSION["steamid"];在欢迎页面上。

session_start();在标题中定义。 这是用户在登录后被重定向到的欢迎页面。

----------------- 这是欢迎页面------------------

<?php include('../header.php'); ?>
    <?php include('../footer.php'); ?>

    <?php
    $steamid = $_SESSION["steamid"];

    require('../int/dbinit.php');

    $sql = "SELECT steamid FROM users WHERE steamid='". $steamid ."'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        die("<!-- ACCOUNT ALREADY EXISTS! -->");
    }

    $sql = "INSERT INTO users (steamid) VALUES ('".$steamid."')";




    if ($conn->query($sql) === TRUE) {
      echo "<!-- ACCOUNT HAS BEEN CREATED! -->";
    } else {
      uhoh("Error while creating account: " . $sql . "<br>" . $conn->error);
    }

    ob_end_flush();

-----------------这是一些登录页面------------------

  foreach ($json_decoded->response->players as $player)
                {
                    /*echo "
                    <br/>Player ID: $player->steamid
                    <br/>Player Name: $player->personaname
                    <br/>Profile URL: $player->profileurl
                    <br/>SmallAvatar: <img src='$player->avatar'/> 
                    <br/>MediumAvatar: <img src='$player->avatarmedium'/> 
                    <br/>LargeAvatar: <img src='$player->avatarfull'/> 
                    ";*/
                    $_SESSION["steamid"] = $player->steamid;
                    $_SESSION["personaname"] = $player->personaname;
                    $_SESSION["profileurl"] = $player->profileurl;
                    $_SESSION["avatar"] = $player->avatar;
                    $_SESSION["avatar_medium"] = $player->avatarmedium;
                    $_SESSION["avatar_full"] = $player->avatarfull;
                    /*var_dump($player);exit;*/

【问题讨论】:

标签: php steam


【解决方案1】:

使用isset() 函数来检查它是否被定义。

$steamid = isset($_SESSION["steamid"]) ? $_SESSION["steamid"] : '';

【讨论】:

  • 这并不能真正解决问题,它只是防止警告。他首先需要弄清楚为什么没有设置会话变量。
  • 如果您遇到未定义的索引错误,请确保在尝试执行任何任务之前设置您的索引。在此处查看文档:php.net/manual/en/function.isset.php
  • 但这不是问题的全部吗?他有一个应该设置所有会话变量的登录页面。然而不知何故,他们没有得到设置。这就是需要解决的问题,而不是 isset() 忽略的问题。
猜你喜欢
  • 2012-12-08
  • 2012-09-18
  • 1970-01-01
  • 2015-03-08
  • 2018-08-02
  • 2012-08-24
  • 2016-10-24
  • 2015-03-23
  • 2023-03-29
相关资源
最近更新 更多