[英]php check if a username exists in a database
所以我有一個用戶form
注冊,我想要做的是:當用戶正在鍵入電子郵件時,如果電子郵件已經被使用,網站將檢查我的數據庫,然后他們點擊注冊按鈕。
我遇到的問題是它不會檢查。 它只顯示“在數據庫中搜索” 。 我只是想發布我的代碼,所以也許有人可以抓住我正在制作的錯誤。
這是我的注冊頁面的一部分:
<tr class = "spacearound"> <!-- input for email address -->
<th>  Email: </th>
<td>
<input type = "text" id = "user_email" size = "50"
maxlength = "50" name = "u_email"
title = "Enter your email please"
onchange = "EmailCheck();"
onkeypress = "return InputLimiter(event, 'emailCharacters');"
/> *
<span id = "email_status"> </span>
</td>
<td><?php echo $message; ?></td>
</tr>
這是我的JavaScript文件“checkusers.js”:
$('#user_email').keyup(function() {
var username = $(this).val();
$('#email_status').text('Searching database.');
if(username != ''){
$.post('checkemail.php',{ username: username }, function(data) {
$('#email_status').text(data);
});
} else {
$('#email_status').text('');
}
});
這是我的php文件,我查了一封電子郵件,“checkemail.php”:
<?php
define('dbHost', 'xxxxx');
define('dbUser', 'xxxxx');
define('dbPassword', 'xxxxx');
define('dbName', 'xxxxx');
error_reporting(E_ALL ^ E_NOTICE);
$db = mysqli_connect(dbHost, dbUser, dbPassword, dbName);
if(mysqli_connect_errno()) { //if connection database fails
echo("Connection not established ");
} //by now we have connection to the database
if(isset($_POST))['username'])){ //if we get the name succesfully
$username = mysqli_real_escape_string($db, $_POST['username']);
if (!empty($username)) {
$username_query = mysqli_query($db, "SELECT COUNT(`firstName`) FROM `users` WHERE `email`='$username'");
$username_result = mysqli_fetch_row($username_query);
if ($username_result[0] == '0') {
echo 'Email available!';
} else {
echo 'Sorry, the email '.$username.' is taken.';
}
}
}
?>
你這里有錯誤
if(isset($_POST))['username'])){
它應該是
if(isset($_POST['username'])){
$_POST['username']
應該包含在isset函數中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.