gpt4 book ai didi

php - 当我发送太多请求时,它会失败,整个网站将停止工作

转载 作者:搜寻专家 更新时间:2023-10-31 20:57:29 24 4
gpt4 key购买 nike

我正在创建一个注册页面,用户只能在其中选择可用的用户名,即数据库中不存在的用户名。所以我为此使用ajax..但是当我一次输入太多请求时它会失败并且我的网站停止工作..一段时间后一切都会好但是5-10分钟它停止工作。

网站出现错误:-

此页面不工作 events.collegespike.com 没有发送任何数据。ERR_EMPTY_RESPONSE

从数据库中获取数据的代码:

<?php

if (isset($_POST['user_name']) && $_POST['user_name'] != '') {
$response = array();
$username = mysqli_real_escape_string($db, $_POST['user_name']);
$sql = "select username from login_master where username='" . $username . "'";
$res = mysqli_query($db, $sql);
$count = mysqli_num_rows($res);
if ($count > 0) {
$response['status'] = false;
$response['msg'] = 'Username already exists.';
} else if (strlen($username) < 6 || strlen($username) > 15) {
$response['status'] = false;
$response['msg'] = 'Username must be 6 to 15 characters';
} else if (!preg_match("/^[a-zA-Z1-9]+$/", $username)) {
$response['status'] = false;
$response['msg'] = 'Use alphabet and numeric only.';
} else {
$response['status'] = true;
$response['msg'] = 'Username is available.';
}

echo json_encode($response);
}
?>

Ajax 代码:-

//including jquery 2.0.3
<script type="text/javascript" charset="utf8" src="https.://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.0.3.js"></script>

//jquery code to fetch data
<script type="text/javascript">
$(document).ready(function() {
$('#username').keyup(function() {
var usercheck = $(this).val();
$('#usercheck').html('<img src="images/loading.gif" width="150" />');
$.post("signup/check1.php", {
user_name: usercheck
}, function(data) {
if (data.status == true) {
$('#usercheck')
.parent('div')
.removeClass('has-error')
.addClass('has-success');

} else {
$('#usercheck')
.parent('div')
.removeClass('has-success')
.addClass('has-error');
}
$('#usercheck').html(data.msg);
}, 'json');
});
});
</script>

HTML 代码:-//接受输入并显示输出的代码

//taking input
<input class="check-form" name="user_name" id="username" type="text" placeholder="User Name (please enter unique username)">

//showing output
<span id="usercheck" class="help-block"></span>
<span><i class="ti-check"></i></span>

最佳答案

我认为问题出在托管服务器设置上。如果你发出太多的帖子请求,服务器会因为设置而阻止你 60 到 120 秒。

尝试使用 GET 请求而不是 POST 请求,我认为它会解决问题。

$(document).ready(function() {
$('#username').keyup(function() {
var usercheck = $(this).val();
$('#usercheck').html('<img src="images/loading.gif" width="150" />');
$.get("signup/check1.php", {
user_name: usercheck
}, function(data) {
if (data.status == true) {
$('#usercheck')
.parent('div')
.removeClass('has-error')
.addClass('has-success');

} else {
$('#usercheck')
.parent('div')
.removeClass('has-success')
.addClass('has-error');
}
$('#usercheck').html(data.msg);
}, 'json');
});
});

关于php - 当我发送太多请求时,它会失败,整个网站将停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54320769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com