<?php
session_start();
if (isset($_POST['sub']))
{
$email=$_POST['email'];
if ($email=="")
{
echo "enter mail";
}
else {
$db=new PDO("mysql:host=localhost; dbname=pdo","root","");
$correct=$db->prepare("select * from sub where email=:email");
$correct->bindParam(":email",$email);
$correct->execute();
if ($correct->rowCount()==0)
{
echo "no mail found pls check";
}
else
{
while ($row=$correct->fetch(PDO::FETCH_ASSOC))
{
$_SESSION['email']=$_POST['email'];
echo "Secutity question:<input type='text' id='ques' value='$row[question]' name='question' readonly>".
"<br><br>"."<b>Answer:</b> "."<input type='text' id='ans' placeholder='answer' name='answer' style='border:1px solid black;width:100px'>".
" <br>".
"<span class='result' style=color:red'></span>";
echo "<input type='submit' id='chek123' name='newpwd' value='reset pwd'>";
} } } } ?>
<script>
$(document).ready(function()
{
$("#chek123").click(function()
{
var ques = $("#ques").val();
var ans = $("#ans").val();
if(ans=="")
{
$(".result").text("answer empty");
}
else {
$.ajax({
url:'securitycheck.php,
type:'POST',
data:{ques1:ques,ans1:ans},
success:function(data)
{
if(data=="enter ans"){
$(".result").text(data);
}
else if(data=="answer is wrong")
{
$(".result").text(data);
}
else if(data=="valid")
{
window.location = "newpwd.php";
}
else {}
}
});
}
});
});
</script>
我的代码无效。输入类型提交在单击它时没有显示任何响应,甚至没有从PHP运行条件。 即使答案是正确的,它也没有显示任何响应,也没有指向newpwd.php页面。我不知道为什么? 当我点击输入类型提交时,即使答案字段为空,它也不会显示来自AJAX的错误。 从过去的一周开始,我完全厌倦了这段代码。
答案 0 :(得分:0)
太过模糊,无法帮助您,但您可以开始调试以下代码以检查您在控制台上获得的内容。类型submit
提交表单,因此如果我理解正确,您需要preventDefault()
。
$("#chek123").click(function(event){
event.preventDefault();
var ques = $("#ques").val();
var ans = $("#ans").val();
console.log({ques1:ques,ans1:ans});
});