當前正在嘗試爲學校做一個項目,就php而言,代碼是好的。當我運行它時,我輸入用戶名和密碼並單擊提交按鈕,但似乎沒有發生任何事情,我仍然在登錄頁面上。PHP登錄屏幕不會移動到下一頁
<?php
session_start();
try{
$databaseConnection = new PDO('mysql:host=127.0.0.1;dbname=mycontacts','root','');
$databaseConnection->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'Error: '.$e->getMessage();
}
if(isset($_POST['login'])) {
$errMsg = '';
$username = trim($_POST['username']);
$password = trim($_POST['password']);
if ($username == ''){
$errMsg .= "You must enter your Username <br />";
}
if($password == '') {
$errMsg .= 'You must enter your Password<br>';
}
if ($errMsg == '') {
$records = $databaseConnection->prepare('SELECT id,username,password from users WHERE username = :username');
$records->bindParam(':username',$username);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
if(count($results) > 0 && password_verify($password, $results['password'])){
header('location:mainMenu.php');
exit();
}else {
$errMsg .= 'Username and Password are not found<br />';
}
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Login</title>
<link rel="stylesheet" href="CSS/main.css">
</head>
<body>
<h1>Welcome to the Contact List</h1>
<br />
<br />
<div>
<form method="post" class="submit" name="login">
<h3><u>Please login</u></h3>
<p>Username: <input type="text" name="username" maxlength="15" size="20" /> </p>
<p>Password: <input type="text" name="password" maxlength="15" size="20" /> </p>
<input type="submit" value="Submit" name="login" />
</form>
</div>
</body>
</html>
數據庫名稱是mycontacts 表名是用戶 中的字段ID(主),用戶名,密碼
當用戶名和密碼推杆,屏幕將保持在與登錄文本框中沒有任何內容,查詢時也沒有任何錯誤。
你沒有'形式action' http://www.w3schools.com/tags/att_form_action.asp – Kisaragi
可能在標題之前輸出。檢查錯誤http://php.net/manual/en/function.error-reporting.php –
@Kisaragi行動默認爲自我,如果沒有給出和OP有它的條件語句,所以這不是問題在這裏。 –