【问题标题】:Notice Undefined Index php 5.6注意未定义索引 php 5.6
【发布时间】:2015-11-26 11:43:40
【问题描述】:

我把代码写成:

 // session_start();
 $auid = isset($_POST['auid']) ? $_POST['auid'] : $_SESSION['auid'];
 $pwd = isset($_POST['pwd']) ? $_POST['pwd'] : $_SESSION['pwd'];

遇到错误

注意:未定义索引:auid, pwd

在这种情况下,isset() 的替代品是什么?假设代码在没有任何初始化或应用程序的第一个调用代码的情况下被调用。

根据这个简短的语法,值只能传递给这两个索引变量中的任何一个。

【问题讨论】:

标签: php php-5.6


【解决方案1】:

试试:

$auid = isset($_POST['auid']) ? $_POST['auid'] : isset($_SESSION['auid']) ? $_SESSION['auid'] : '' ;
$pwd = isset($_POST['pwd']) ? $_POST['pwd'] : isset($_SESSION['pwd']) ? $_SESSION['pwd'] : '' ;

【讨论】:

  • 如果问题与当前性质无关,那么您可以接受这个作为答案并开始一个新问题。这将帮助其他人看到您的新问题,并且多人可以为它做出贡献
  • 这个问题与另一个页面上的会话变量值有关,正在调查这个。
  • 问题是,如果第一次调用,变量中应该没有任何内容,但错误也应该出现。所以分配空间是个问题。
  • 我不明白。我们在哪里分配了space'' 不是空格,它是一个长度为 0 的字符串,表示它是一个空白字符串。空间将类似于' '。还有我们在这里谈论什么问题。当您说“问题”时,请更具描述性。问题是一个庞大的词,可以是任何东西。
  • 除了索引变量的值之外,不应为变量设置任何值
【解决方案2】:

基于@Ashus 逻辑,修改后的解决方案是:

$auid = isset($_POST['auid']) ? $_POST['auid'] : (isset($_SESSION['auid']) ? $_SESSION['auid'] : '');
$pwd = isset($_POST['pwd']) ? $_POST['pwd'] : (isset($_SESSION['pwd']) ? $_SESSION['pwd'] : '');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-02
    • 2014-02-06
    • 2011-05-26
    • 2016-04-28
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多