Notice: Undefined index: error in C:\xampp\htdocs\bl_zp\blog\login.php on line 36 几个网站都有这错

<?php

session_start();

require("config.php");

$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);

if($_POST['submit']) {
$sql = "SELECT * FROM logins WHERE username = '" . $_POST['username'] . "' AND password = '" . $_POST['password'] . "';";

$result = mysql_query($sql);
$numrows = mysql_num_rows($result);

if($numrows == 1) {

$row = mysql_fetch_assoc($result);
session_register("USERNAME");
session_register("USERID");

$_SESSION['USERNAME'] = $row['username'];
$_SESSION['USERID'] = $row['id'];

header("Location: " . $config_basedir);
}
else {
header("Location: " . $config_basedir . "/login.php?error=1");
}
}
else {

require("header.php");

if($_GET['error']) {
echo "Incorrect login, please try again!";
}

?>

<form action="<?php echo $SCRIPT_NAME ?>" method="post">

<table>
<tr>
<td>Username</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="submit" value="Login!"></td>
</tr>
</table>
</form>

<?php
}
require("footer.php");
?>

Notice: Undefined index: error
警告:未定义的索引号:error

出错的代码第36行:
if($_GET['error']) {

也就是说:传递过来的参数中,$_GET['error'] 可能不存在。追问

对啊 可是它怎么会不存在呢?~~~而且我感觉整个程序好像根本没执行,直接跳到
if($_GET['error']) {
echo "Incorrect login, please try again!";
} 这一句来了 ??
$_GET['error']的值没有传递过来?

追答

不存在的原因,通常来说只有一个:除了一些特殊的系统参数会自动传递过来,其他参数你需要手动传递。也就是说,这个参数你上个页面没有传递。

在php中,$_GET数组中的值一般来说是需要手动编码写入的,可以直接用$_GET['error']='xxxx';的方式,也可以用 test.php?error=xxxx的方式

追问

if($_GET("error=1"));这样整行吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-24
看你上条提问我的回答。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网