我對web開發非常陌生,現在正在開展一個學校項目。 我的登錄碼有問題,但我無法弄清楚它是什麼。 當我提交表單時,頁面似乎只是重新加載,並且沒有設置會話。這個php登錄頁面有什麼問題?
我的縮短登錄頁面:
<?php include "connect.php";
if (isset($POST['login'])) {
$user_email_username = mysqli_real_escape_string($link, $_POST['email_username']);
$user_password = mysqli_real_escape_string($link, $_POST['password']);
$email_username_query = mysqli_query($link, "SELECT * FROM User WHERE email='$user_email_username' OR username='$user_email_username'");
if (mysqli_num_rows($email_username_query) == 0) {
$not_registered_error = "It looks like you still don't have an account. <a href=\"signup.php\">Sign up</a>.";
} else {
$row = mysqli_fetch_array($email_username_query);
if (sha1($user_password) != $row['password']) {
$wrong_password_error = "The password you submitted is wrong.";
} else {
$_SESSION['user_id'] = $row['idUser'];
$_SESSION['user_name'] = $row['name'];
$_SESSION['user_username'] = $row['username'];
header("Location: index.php");
}
}
}
?>
<!--metadata-->
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<div id="login" class="login-panel panel panel-default">
<div class="panel-body">
<form role="form" method="post" action="login.php">
<fieldset>
<!--login form-->
</fieldset>
<?php if (isset($not_registered_error)) {
echo "<div class=\"alert alert-danger\" role=\"alert\">" . $not_registered_error . "</div>";
}
if (isset($wrong_password_error)) {
echo "<div class=\"alert alert-danger\" role=\"alert\">" . $wrong_password_error . "</div>";
} ?>
<p>Haven't joined yet? <a href="signup.php">Sign up</a>.</p>
</form>
</div>
</div>
</div>
</div>
</div>
//...
不像我在網上找到的大多數例子,我想在這裏完成是有計劃要弄清楚的用戶名(或電子郵件)是否不存在或該用戶名的密碼錯誤。 我寫的註冊程序非常棒。問題本身已經足夠長了,所以我沒有添加signup.php。讓我知道它是否有幫助。 將mysql用於本地數據庫並使用Bootstrap進行樣式設置。
我知道這個問題對許多人都沒有幫助,因爲它被問到,但我不知道如何更好地制定它。
謝謝大家:d
*不像你找到最例子*?這似乎是登錄的基礎...... – jeroen
我的意思是,大多數示例使用這樣的查詢:「SELECT * FROM用戶WHERE電子郵件='$ user_email_username'和密碼='$密碼'」;這種方式,你不能告訴問題是在電子郵件提交或在密碼... –
瑞安文森特,謝謝:) –