[英]Login form and registration PHP
我最近開始處理表單驗證和登錄/注冊。 但是,我有一個問題,當我用現有的用戶名和密碼單擊登錄按鈕時,我想轉移到同一頁面(登錄頁面)或帶有消息“您已成功登錄”的起始頁面。 我不知道該怎么做。 除其他外,我有兩個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>
我會使用一些更高級的登錄名。 我使用的登錄表單非常完美,易於理解和使用。 訪問此登錄表單以獲取我使用的登錄名。 如果您願意,也很容易轉換為OO。
方法1
您可以像這樣成功登錄login.php
來包含loginform.inc.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';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.