This is php page which echoes variable $correct. Its initial value is 0. It is changing with increment in its value but when i load this value after echoing it to other page using jquery ajax method it returns only 0 not the increment value.
<?php
$i=1;
while($i<=10) {
$answer="answer_".$i;
${"answer_$i"}=$_POST[$answer];
$i++;
}
$correct=0;
if($answer_1=="a")
$correct=$correct+10;
else {
if($answer_1=="b" || $answer_1=="c" || $answer_1=="d")
$correct=$correct-10;
}
if($answer_2=="a")
$correct=$correct+10;
else {
if($answer_2=="b" || $answer_2=="c" || $answer_2=="d")
$correct=$correct-10;
}
if($answer_3=="a")
$correct=$correct+10;
else {
if($answer_3=="b" || $answer_3=="c" || $answer_3=="d")
$correct=$correct-10;
}
if($answer_4=="a")
$correct=$correct+10;
else
{ if($answer_4=="b" || $answer_4=="c" || $answer_4=="d")
$correct=$correct-10;
}
if($answer_5=="a")
$correct=$correct+10;
else
{ if($answer_5=="b" || $answer_5=="c" || $answer_5=="d")
$correct=$correct-10;
}
if($answer_6=="a")
$correct=$correct+10;
else
{ if($answer_6=="b" || $answer_6=="c" || $answer_6=="d")
$correct=$correct-10;
}
if($answer_7=="a")
$correct=$correct+10;
else
{ if($answer_7=="b" || $answer_7=="c" || $answer_7=="d")
$correct=$correct-10;
}
if($answer_8=="a")
$correct=$correct+10;
else {
if($answer_8=="b" || $answer_8=="c" || $answer_8=="d")
$correct=$correct-10;
}
if($answer_9=="a")
$correct=$correct+10;
else
{
if($answer_9=="b" || $answer_9=="c" || $answer_9=="d")
$correct=$correct-10;
}
if($answer_10=="a")
$correct=$correct+10;
else
{
if($answer_10=="b" || $answer_10=="c" || $answer_10=="d")
$correct=$correct-10;
}
echo "$correct";
?>
This is script on other page which access this variable $correct but it always result in 0,though the variable value is changing on the php page? How can i correct this?
<script>
$(function(){
$('form').submit(function(event){
event.preventDefault();
$.ajax({
url:"results.php",
type:"POST",
success:function(result){
console.log(result);
$('#results').html("<p>"+result+"</p>");
}
});
});
});
</script>
You’re not passing any answers from AJAX to PHP.
Therefore none of your conditions in the PHP are met.
Thus it returns 0.
To pass data with the post request consult the ajax documentation (http://api.jquery.com/jQuery.ajax/). You’ll want to look at the
dataattribute.You’ll want to have something like this:
Then your PHP needs to collect the data but I imagine you already have that setup:
Update:
to include example information from user comment.
So you’d want something like this:
If you’re not planning on modifying any of the form data with jQuery you could always just serialize it and post that instead: http://api.jquery.com/serialize/