javascript - php中错误输入警报后如何避免页面刷新
问题描述
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Captcha Implementation</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container" style="width: 600px">
<br/>
<br/>
<div class="panel panel-default">
<div class="panel-body">
<div id="message"></div>
<h4 align="center">Submit the word you see below:</h4>
<p id="captImg" align="center">
<img src="image.php" id="captcha_image"/>
</p>
<!-- <p align="center">Can't read the image? click <a href="javascript:void(0);" class="refreshCaptcha">here</a> to refresh.</p> -->
<form action="index.php" method="post" id="captch_form" name="captch_form">
<div class="form-group">
<label>Enter the Captcha</label>
<input type="text" name="captcha_word" id="captcha_word" class="form-control" placeholder="" value="" autocomplete="off"/>
<div id="message" align="center" class='text-danger'></div>
</div>
<div class="form-group">
<label>Contact Number</label>
<input type="text" name="contact_number" id="contact_number" class="form-control" value="" autocomplete="off"/>
</div>
<div class="form-group" align="center">
<input type="submit" name="submit" id="submit" class="btn btn-info" value="SUBMIT" onclick="captcha_submit()"/>
</div>
</form>
</div>
</div>
</div>
</body>
</html>
<script>
function captcha_submit()
{
var Data = $("#captch_form").serializeArray();
console.log(Data);
$.ajax(
{
url : "action.php?name=captcha_save",
type: "POST",
data : Data,
success:function(data)
{
$('#message').html(data);
}
});
$("#message").slideDown("slow");
e.preventDefault();
}
</script>
<?php
$host = "localhost";
$database = "pmcrb_ambabajaj";
$user = "root";
$password= "";
$db = $database;
$con = mysqli_connect($host,$user,$password,$db);
$Action = @$_GET['name'];
if($Action == 'captcha_save')
{
$captcha_word = @$_POST['captcha_word'];
$contact_number = @$_POST['contact_number'];
$created_date = time();
if($captcha_word == '')
{?>
<div class="alert alert-danger alert-dismissible">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
Please Enter Captcha.
</div>
<?php }
/*else if($captcha_word == $_SESSION['captcha_code'])
{?>
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong style="color:#fff;text-align:center;font-size:14px;font-family:Times New Roman, Times, serif;margin-left:50px;">Warning!</strong> Invalid Captcha Code
</div>
<?php }*/
else if($contact_number == '')
{?>
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong style="color:#fff;text-align:center;font-size:14px;font-family:Times New Roman, Times, serif;margin-left:50px;">Warning!</strong> Please Enter Contact Number
</div>
<?php }
else
{
$sql = "insert into pm1captcha(`created_date`,`contact_number`,`captcha_word`)values('$created_date','$contact_number','$captcha_word')";
$qry = mysqli_query($con,$sql);
?>
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong style="color:#fff;text-align:center;font-size:14px;font-family:Times New Roman, Times, serif;margin-left:50px;">Success!</strong> Data Saved Successfully
</div>
<?php }
}
?>
我已经编写了一些代码来将验证码详细信息保存到数据库表中,数据保存正确,但如果该字段为空,则每次页面都会刷新。如何避免每次在 php.ini 中出现警报后页面刷新。谁能帮帮我吗。这里我在 index.php 页面中编写了 html 代码,而 php 代码在 action.php 页面中编写
解决方案
推荐阅读
- ios - 故事板中的安全区域错位
- angular - 重新加载部署在 tomcat 服务器上的 Angular 应用程序时出现 404 错误
- ios - 无法在 swift iOS 中处理 http 代码?
- android - ITelephony.endCall() 不再用于阻止 Android 8/Android O/API 26 中的呼叫
- amazon-web-services - 如何根据其中运行的容器动态修改正在运行的ECS实例的安全组?
- android - Android临时保存图像并在不再删除图像时的最佳实践?
- vb.net - 当其中一个文本框未填写时,程序不断崩溃
- java - 无法使用 netbeans 添加或更新父行
- mysql - 对整数的字符串表示进行排序?
- file - 在 Fortran 中读取带有 EBCDIC 和二进制数据内容的 SEG-Y 文件