Предполагается, что приведенный ниже код проверяет, было ли имя пользователя уже занято до отправки формы.Однако после ввода имени во входные данные элементы div
повторяются и данные не выводятся.Кто-нибудь может помочь с этой проблемой, используя AJAX?
PHP-код:
if (isset($_POST['check_username'])) {
$user_login_name = $_POST['check_username'];
$sql = "SELECT user_login_name FROM users;";
$result = mysqli_query($conn, $sql);
$rows = mysqli_fetch_array($result);
if (!empty($user_login_name)) {
foreach ($rows as $row) {
if (strpos($row, $user_login_name) != false) {
echo $row;
echo "<br>";
}
}
} else {
echo "Database empty!";
}
}
HTML-код:
<div class="register">
<div class="band_1">
<div class="box">
<form action="../server/register.php" method="POST">
<div class="input_table">
<table>
<thead>
<tr>
<th><h1>Register to LIMS</h1></th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="user_first_name" placeholder="Enter First Name"></td>
</tr>
<tr>
<td><input type="text" name="user_last_name" placeholder="Enter Last Name"></td>
</tr>
<tr>
<td><input type="text" name="user_phone" placeholder="Enter Contact Number"></td>
</tr>
<tr>
<td><input type="email" name="user_email" placeholder="Enter Email"></td>
</tr>
<tr>
<td><input type="text" name="user_login_name" placeholder="Select a Username"><p id="test"></p></td>
</tr>
<tr>
<td><input type="password" name="user_password" placeholder="Select a Password"></td>
</tr>
<tr>
<td><input type="password" name="user_password_2" placeholder="Repeat Password"></td>
</tr>
</tbody>
</table>
</div>
<button type="submit" name="user_register" class="button_1">Register</button>
<button type="button" class="button_3">Cancel</button>
</form>
</div>
</div>
</div>
и AJAX:
$(document).ready(function() {
$("input[name=user_login_name]").keyup(function(){
var user_login_name = $("input[name=user_login_name]").val();
$.post("../server/register.php", {
check_username: user_login_name
}, function(data, status) {
$("#test").html(data);
});
});
});