我把代码编写为:
// session_start();
$auid = isset($_POST['auid']) ? $_POST['auid'] : $_SESSION['auid'];
$pwd = isset($_POST['pwd']) ? $_POST['pwd'] : $_SESSION['pwd'];
获取错误
注意:未定义的索引:auid,pwd
在这种情况下,isset()的替代是什么?假设在没有任何初始化或第一个应用程序调用代码的情况下调用代码。
基于这种短语法,该值只能传递给这两个索引变量中的任何一个。
答案 0 :(得分:4)
尝试:
$auid = isset($_POST['auid']) ? $_POST['auid'] : isset($_SESSION['auid']) ? $_SESSION['auid'] : '' ;
$pwd = isset($_POST['pwd']) ? $_POST['pwd'] : isset($_SESSION['pwd']) ? $_SESSION['pwd'] : '' ;
答案 1 :(得分:1)
基于@Ashus逻辑,修订后的解决方案是:
$auid = isset($_POST['auid']) ? $_POST['auid'] : (isset($_SESSION['auid']) ? $_SESSION['auid'] : '');
$pwd = isset($_POST['pwd']) ? $_POST['pwd'] : (isset($_SESSION['pwd']) ? $_SESSION['pwd'] : '');