所以我目前的登录页面有问题,我试图让登录过程返回一个变量,这样我就可以在我的登录页面上显示错误代码,但看不到我哪里出错了......
输入错误的登录凭据时出现 PHP 错误
Notice: Undefined variable: output in C:\inetpub\wwwroot\reveal\store\qadmin\login\login.process.php on line 27
登录表单
<div class="widget-body">
<!-- Form -->
<?php
if(isset ($loginerror)) {
?>
<div style="width:100%; text-align:center;">
<span style="padding-bottom: 10px; color:red;">Successfully Logged Out</span>
</div>
<?php
} else {
?>
<span>Either No Login Data or something is horribly wrong.</span><br /><br />
<?php
};
?>
<form method="POST" action="index.php">
<label>Username or Email</label>
<input id="username" type="text" name="username" class="input-block-level" placeholder="Your Username or Email address"/>
<label>Password</label>
<input id="password" type="password" name="password" class="input-block-level margin-none" placeholder="Your Password" />
<div class="separator bottom"></div>
<div class="row-fluid">
<div class="span8">
<div class="uniformjs"><label class="checkbox"><input type="checkbox" value="remember-me">Remember me</label></div>
</div>
<div class="span4 center">
<button class="btn btn-block btn-inverse" id="submit" name="submit" type="submit">Sign in</button>
</div>
</div>
</form>
<!-- // Form END -->
索引.php
session_start();
global $error;
// Simple check if the user is logged in or not
if (isset($_POST['submit'])) {
include("login.process.php");
$checkUser = login($_POST['username'], $_POST['password']);
if ($checkUser == "No") {
$error = "true";
} else if (is_array($checkUser)) {
$_SESSION['user'] = $checkUser;
$_SESSION['loggedin'] = true;
}
}
if (isset($_SESSION['loggedin'])) {
include ("home.php");
}
if (!isset($_SESSION['loggedin'])) {
include ("login.php");
}
登录.process.php
function login($username, $password) {
include("../config.php");
// Open up a new MySQLi connection to the MySQL database
mysql_connect($dbHost, $dbUsername, $dbPassword);
mysql_select_db($dbTable);
// To protect MySQL injection (more detail about MySQL injection)
$username1 = stripslashes($username);
$password1 = stripslashes($password);
$username2 = mysql_real_escape_string($username1);
$password2 = mysql_real_escape_string($password1);
$password3 = md5($password2);
$sql="SELECT * FROM `users` WHERE username='$username2' AND password='$password3'";
$result=mysql_query($sql);
if ($result > 0) {
while($logincheck = mysql_fetch_array($result)) {
$output = array('username' => $username2, 'uid' => $logincheck['id'], 'superadmin' => $logincheck['superadmin']);
};
return $output;
} else {
$loginerror = "Login Error";
return $loginerror;
};
}
我可能在做一些愚蠢的事情,但无法弄清楚为什么它会返回那个错误!!!!!!