我最近开始处理表单验证和登录/注册。但是,我有一个问题,当我点击带有现有用户和密码的登录按钮时,我想转移到同一页面(登录页面)或启动页面,并带有消息:“您已成功登录”。我不知道该怎么做。我有两个php文件, login.php :
if (loggedin()) {
$firstname = getuserfield('firstname');
$surname = getuserfield('surname');
echo 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log out </a><br>';
} else {
include 'loginform.inc.php';
}
和 loginform.inc.php
if (isset($_POST['username'])&&isset($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$password_hash = md5($password);
if (!empty($username)&&!empty($password)) {
$query = "SELECT `id` FROM `users` WHERE `username`='".mysql_real_escape_string($username)."' AND `password`='".mysql_real_escape_string($password_hash)."'";
if ($query_run = mysql_query($query)) {
$query_num_rows = mysql_num_rows($query_run);
if ($query_num_rows==0) {
?> <div id = "a5"> <?php echo 'No such combination of username and password' ?> </div>; <?php
} else if ($query_num_rows==1){
$user_id = mysql_result($query_run, 0, 'id');
$_SESSION['user_id']=$user_id;
header('Location: login.php');
}
}
} else {
?> <div id="a"> <?php echo 'Please enter username and password!' ?> </div>
答案 0 :(得分:0)
我会使用一些更高级的登录。我使用的登录表单非常完美,易于理解和使用。访问此login form以获取我使用的登录信息。如果您愿意,也很容易转换为OO。
答案 1 :(得分:-1)
方法:1
成功登录loginform.inc.php
之后,您可以添加login.php
if (loggedin()) {
$firstname = getuserfield('firstname');
$surname = getuserfield('surname');
echo 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log out </a><br>';
include 'loginform.inc.php'; // include here after successfully login
} else {
include 'loginform.inc.php';
}
方法:2
您可以将成功消息存储在SESSION变量中,并在loginform.inc.php
上转移标头。然后您可以在loginform.inc.php
页面打印会话。
<强>的login.php:强>
session_start();
if (loggedin()) {
$firstname = getuserfield('firstname');
$surname = getuserfield('surname');
$_SESSION['msg_text'] = 'You\'re logged in, '.$firstname.' '.$surname.'. <a href="logout.php">Log out </a><br>'; // set a session variable
header("location:loginform.inc.php"); // transfer header on the loginform.inc.php page
exit;
} else {
include 'loginform.inc.php';
}