我的登录表单有小问题。 当我打开form.php时,它会显示以下错误:
注意:未定义的索引:第3行的C:\ xampp \ htdocs \ form.php中的id
但是当我登录form.php时一切都还好。我的问题是我如何解决这个错误,我的代码中是否存在漏洞?
的login.php
<?php
/*
// Start Session
session_start();
// Database connection
require __DIR__ . '/database.php';
$db = DB();
// Application library ( with DemoLib class )
require __DIR__ . '/lib/library.php';
$app = new DemoLib();
$login_error_message = '';
$register_error_message = '';
// check Login request
if (!empty($_POST['login'])) {
$user = trim($_POST['user']);
$pass = trim($_POST['pass']);
if ($user == "") {
echo '<pre>';
echo 'Plese select username';
echo '</pre>';
} else if ($pass == "") {
echo '<pre>';
echo 'Please select pass';
echo '</pre>';
} else {
$id = $app->Login($user, $pass); // check user login
if($id > 0)
{
$_SESSION['id'] = $id; // Set Session
header("Location: form.php"); // Redirect user to the profile.php
}
else
{
echo '<pre>';
echo 'Error';
echo '</pre>';
}
}
}
?>
和我的form.php
<?php
$user = $app->UserDetails($_SESSION['id']); // get user details
if (isset ($user->id)) { ?>
<span>Hello, <b><?php echo $user->user ?><b></span>
<p><a href="#">Add article</a></p>
<p><a href="#">Remove article</a></p>
<p><a href="#">Add news</a></p>
<p><a href="logout.php">Log out</a></p>
<?php } else { ?>
<form action="form.php" method="post">
<p>username:<p>
<input type="text" name="user">
<p>Password:</p>
<input type="password" name="pass">
<input type="submit" name="login" value="Login">
</form>
<br>
<?php } ?>
答案 0 :(得分:0)
您应该检查Session的索引'id'是否存在。
if ( isset($_SESSION['id']) ) {
....
}