所以我有一个相当复杂的代码,我试图做的工作(实际上;它在我的测试服务器上工作正常,但不是我的实时服务器。所以我' m试图让它返工) - 它一直告诉我,我要求它检查isset的变量不是一个定义的变量。我可能过度思考这整个方法,而且可能是一种简单的方法。但是我需要你们用它来抨击我,显然
include('bootstra.php');
include('includes/parts/head.php');
if(!isset($_SESSION['user']['uid']))
{
echo $html;
include('includes/parts/login.php');
if(isset($_GET['mode']))
{
$file = $_GET['mode'];
$path = "includes/parts/{$file}.php";
if (file_exists($path)) {
require_once($path);
} else {
die("The Page REquested could not be found!");
}
}
else
{
include('includes/parts/frontpage.php');
}
}
else
{
if(!isset($_SESSION['x']) || !isset($_SESSION['y']))
{
if(isset($_GET['x']) && isset($_GET['y']))
{
$_SESSION['x'] = $_GET['x'];
$_SESSION['y'] = $_GET['y'];
}
else
{
$_SESSION['x'] = 0;
$_SESSION['y'] = 0;
}
header("location:index.php?x={$_SESSION['x']}&y={$_SESSION['y']}");
}
else
{
if($_SESSION['x'] != $_GET['x'] || $_SESSION['y'] != $_GET['y'] )
{
header("location:index.php?x={$_SESSION['x']}&y={$_SESSION['y']}");
}
else
{
echo $html;
echo $base->displayMap($_GET['x'], $_GET['y']);
include('includes/context_menu.php');
}
}
}
这是确切的错误:
Notice: Undefined index: x in /home/****/public_html/reddactgame/index.php on line 27
答案 0 :(得分:0)
改变它
<pre>
if( !isset($_SESSION['x']) || !isset($_SESSION['y']) )
</pre>
到
<pre>
if( !( isset($_SESSION['x']) && isset($_SESSION['y']) ) )
</pre>
答案 1 :(得分:0)
没有错误,即Warning
...
这是说$_SESSION['x']
从未设置过,因此,当你这样做isset
时,它会告诉你它从未被声明过。
示例:
这会为您提供相同的警告
empty($x);
这不会给您警告
$x = 0;
empty($x);
修改强>
我认为这是一个常见问题,因此here是一个更好的解释。