可能重复:
PHP: “Notice: Undefined variable” and “Notice: Undefined index”
我试图创建一个简单的login and register page
并且我在index .php
页面上收到这些错误,为什么我的索引未定义这些是我得到的错误
Notice: Undefined index: username in C:\xampp\htdocs\mysite\forum part two\index.php on line 7
Notice: Undefined index: password in C:\xampp\htdocs\mysite\forum part two\index.php on line 8
第7行和第8行的代码分别为
$username = $_SESSION['username'];
$password = $_SESSION['password'];
这是我的索引页
<?php
//This will start a session
session_start();
$username = $_SESSION['username'];
$password = $_SESSION['password'];
//Check do we have username and password
if(!$username && !$password){
echo "Welcome Guest! <br> <a href=login.php>Login</a> | <a href=register.php>Register</a>";
}else{
echo "Welcome ".$username." (<a href=logout.php>Logout</a>)";
}
?>
答案 0 :(得分:2)
您收到这些错误是因为您的会话尚未提前声明,因此您需要检查您的会话是否已提前声明。你可以使用php empty或isset函数
<?php
//This will start a session
session_start();
$username ='';$password ='';
if(!empty($_SESSION['username']))//check if it is defined
$username = $_SESSION['username'];
if(!empty($_SESSION['password']))//check if it is defined
$password = $_SESSION['password'];
//Check do we have username and password
if($username=='' && $password==''){
echo "Welcome Guest! <br> <a href=login.php>Login</a> | <a href=register.php>Register</a>";
}else{
echo "Welcome ".$username." (<a href=logout.php>Logout</a>)";
}
?>
答案 1 :(得分:2)
检查$_SESSION's
是否存储任何值..
我会举个例子:
<?php
//This will start a session
session_start();
if(isset($_SESSION['username']))
{
$username = $_SESSION['username'];
}else{
$username = null;
}
var_dump($username);
// Would return NULL. SESSION IS NOT SET.
// if I add $_SESSION['username'] = "Phorce" session set, will return phorce.
?>
或者:var_dump($_SESSION['username']);
希望这会有所帮助:)可能是$_SESSION['username']
没有注册。
答案 2 :(得分:1)
请在使用之前检查是否为会话变量分配了值。
<?php
//This will start a session
session_start();
$username ="";
$password ="";
if(isset($_SESSION['username']))
$username = $_SESSION['username'];
if(isset($_SESSION['password ']))
$password = $_SESSION['password'];
//Check do we have username and password
if(!$username && !$password){
echo "Welcome Guest! <br> <a href=login.php>Login</a> | <a href=register.php>Register</a>";
}else{
echo "Welcome ".$username." (<a href=logout.php>Logout</a>)";
}
?>