我知道我和我的問題聽起來很愚蠢,因爲有許多在線答案。我創建了一個用於登錄和註冊的html頁面。我被要求使用xampp來託管我的網頁。我創建了一個數據庫和表格,並在xampp的sql中插入了數據。 但是,當我給予登錄和註冊詳細信息並提交時,頁面會引發各種異常。 我在這裏發佈的主要原因是,這是我的最終項目在3天的截止日期,如果我甚至不做這個簡單的工作,我將不會被評分。我嘗試了很多,但不斷收到錯誤。所以我需要一些快速的幫助。我需要一個使用連接到數據庫的php登錄頁面。從你那裏得到一點幫助可以讓我免於得到一個F,我真的很感激它。如何使用php和xampp創建登錄和註冊頁面
1
A
回答
3
數據庫結構
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
如果你正在使用MySQL使用phpMyAdmin來創建這些領域將是您更容易
現在我已經定義了需要連接到數據庫的常量 創建一個文件dbConstants.php或者任意命名它
現在登錄頁面的代碼創建一個名爲register.php的文件
<html>
<head>
<title>Login Form</title>
</head>
<body>
<?php
if (!isset($_POST['submit'])){
?>
<!-- The HTML login form -->
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
<input type="submit" name="submit" value="Login" />
</form>
<?php
} else {
require_once("db_const.php");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * from users WHERE username LIKE '{$username}' AND password LIKE '{$password}' LIMIT 1";
$result = $mysqli->query($sql);
if (!$result->num_rows == 1) {
echo "<p>Invalid username/password combination</p>";
} else {
echo "<p>Logged in successfully</p>";
// do stuffs
}
}
?>
</body>
</html>
最後註冊的代碼創建一個名爲register.php文件
<html>
<head>
<title>Registration</title>
</head>
<body>
<?php
require_once("db_const.php");
if (!isset($_POST['submit'])) {
?> <!-- The HTML registration form -->
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Username: <input type="text" name="username" /><br />
Password: <input type="password" name="password" /><br />
First name: <input type="text" name="first_name" /><br />
Last name: <input type="text" name="last_name" /><br />
Email: <input type="type" name="email" /><br />
<input type="submit" name="submit" value="Register" />
</form>
<?php
} else {
## connect mysql server
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
## query database
# prepare data for insertion
$username = $_POST['username'];
$password = $_POST['password'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email = $_POST['email'];
# check if username and email exist else insert
$exists = 0;
$result = $mysqli->query("SELECT username from users WHERE username = '{$username}' LIMIT 1");
if ($result->num_rows == 1) {
$exists = 1;
$result = $mysqli->query("SELECT email from users WHERE email = '{$email}' LIMIT 1");
if ($result->num_rows == 1) $exists = 2;
} else {
$result = $mysqli->query("SELECT email from users WHERE email = '{$email}' LIMIT 1");
if ($result->num_rows == 1) $exists = 3;
}
if ($exists == 1) echo "<p>Username already exists!</p>";
else if ($exists == 2) echo "<p>Username and Email already exists!</p>";
else if ($exists == 3) echo "<p>Email already exists!</p>";
else {
# insert data into mysql database
$sql = "INSERT INTO `users` (`id`, `username`, `password`, `first_name`, `last_name`, `email`)
VALUES (NULL, '{$username}', '{$password}', '{$first_name}', '{$last_name}', '{$email}')";
if ($mysqli->query($sql)) {
//echo "New Record has id ".$mysqli->insert_id;
echo "<p>Registred successfully!</p>";
} else {
echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
exit();
}
}
}
?>
</body>
</html>
這是一個簡單的登錄和註冊過程中,我希望它可以幫助你,儘管事情我已經在這裏給出的可能不是最好的實踐至少會幫助你像使用mysqli更好地使用pdo。
相關問題
- 1. 使用PHP創建註冊和登錄頁面MYSQLI
- 2. 登錄和註冊頁面問題php
- 3. 我的登錄和註冊頁面
- 4. 聯合登錄和註冊頁面?
- 5. 如何連接登錄頁面和註冊頁面?
- 6. 如何使用Laravel 5.1創建簡單的註冊和登錄?
- 7. 使用php和md5登錄並註冊
- 8. PHP OO登錄和註冊
- 9. 如何使用password_hash註冊和登錄
- 10. 登錄用戶請參閱登錄和註冊頁面(django註冊)
- 11. 如何使用php和mysql進行登錄和註冊?
- 12. 如何在ASP.NET的C#登錄和註冊memberprofile頁面創建會話
- 13. 如何在WooCommerce中創建單獨的登錄和註冊頁面
- 14. 如何創建註冊和登錄與jQuery和CouchDB的?
- 15. Wordpress登錄註冊頁面
- 16. 註冊和登錄
- 17. 使用android選項卡設計登錄和註冊頁面
- 18. 註冊和登錄頁面使用https asp.net 4.0
- 19. php - Android用戶註冊和登錄
- 20. 使用JSON和PHP創建註冊API
- 21. 如何創建用戶註冊頁面
- 22. 使用php和mysql創建登錄頁面
- 23. 登錄頁面和註冊頁面,我需要把所有的
- 24. 使用XMPP框架創建登錄和註冊
- 25. 在apache服務器上用php和mysql創建註冊和登錄頁面(raspbian jessie)
- 26. 我應該在註冊頁面和登錄頁面使用nofollow嗎?
- 27. 登陸頁面同時登錄和註冊
- 28. 使用PHP和SESSION登錄頁面
- 29. 使用Facebook創建註冊頁面
- 30. PHP登錄和註冊錯誤
你正在做一件作業,需要幫助。沒有什麼不對的..這個問題有什麼問題,對我來說,它尖叫**給我代碼**。我們不這樣做。您在代碼中提到了各種例外情況。那些錯誤是什麼?去大學/大學/學校是沒有意義的。或者任何形式的發展教育都要求半專業和專業開發人員的社區。誰會幫助你解決你的編碼錯誤。提供我們看到的代碼。什麼是投擲錯誤,你試過了什麼。你的輸出和預期輸出 –
你沒有告訴我們任何事情。你有什麼錯誤?代碼是什麼?你需要給我們更多的細節,所以我們可以幫助你... –
我真的很高興,沒有一個低估了這個問題,'善良贏了'vs'規則'在這裏..... – fresher