使用php和ajax对两个数字求和

使用php和ajax对两个数字求和,php,ajax,sum,Php,Ajax,Sum,以下是我的html代码: <form name="sumForm" action=""> <input type="text" id="num1" name="num1" /> <input type="text" id="num2" name="num2" /> <input type="submit" id="sum" value="sum"/> </form> 下面是apotelesma.php脚本: <?p

以下是我的html代码:

   <form name="sumForm" action="">
<input type="text" id="num1" name="num1" />

<input type="text" id="num2" name="num2" />

<input type="submit" id="sum"  value="sum"/>

</form>
下面是apotelesma.php脚本:

<?php

$num1 = isset($_POST['num1']);
$num2 = isset($_POST['num2']);

$apotelesma = 0;

$apotelesma = $num1 + $num2;

echo $apotelesma;

?>


我不知道怎样才能得到结果。我不知道包含php脚本以显示结果是否正确。

问题是您正在将
$num1
$num2
设置为布尔值

试试这个

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;

问题是您正在将
$num1
$num2
设置为布尔值

试试这个

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;

isset
检查是否设置了值并返回布尔值,因此
$num1
$num2
将为真或假。因此,您没有将实际值相加

isset
检查是否设置了值并返回布尔值,因此
$num1
$num2
将为真或假。因此,您没有将实际值相加

“isset”返回一个布尔值,表示是否设置了变量

你需要:

<?php

if (!isset($_POST['num1']) || !isset($_POST['num2']))
    exit;
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];

$apotelesma = 0;

$apotelesma = $num1 + $num2;

echo $apotelesma;

?>

当您进行ajax调用时,页面不会像普通表单那样刷新,因此您不希望使用include。

'isset'返回一个表示变量是否已设置的布尔值

你需要:

<?php

if (!isset($_POST['num1']) || !isset($_POST['num2']))
    exit;
$num1 = $_POST['num1'];
$num2 = $_POST['num2'];

$apotelesma = 0;

$apotelesma = $num1 + $num2;

echo $apotelesma;

?>
当您进行ajax调用时,您的页面不会像普通表单那样刷新,因此您不想使用include。

返回
true
false
,使用
true
false
进行任何添加都非常困难(讽刺)

您需要将其更改为以下内容:

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;

return $num1 + $num2;
我的问题: 是否有任何理由通过ajax进行添加?为什么不在没有ajax请求的javascript中使用呢?

返回
true
false
,使用
true
false
进行任何添加都非常困难(讽刺)

您需要将其更改为以下内容:

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;

return $num1 + $num2;
我的问题:
是否有任何理由通过ajax进行添加?为什么不在没有ajax请求的情况下使用javascript?

其他人指出您的php文件中存在错误,但您的javascript中也存在错误:

$.ajax({
type: "POST",
url: "apotelesma.php",
data: dataString,
success: function() {
   alert(dataString)

        return false;
}
应该是:

$.ajax({
type: "POST",
url: "apotelesma.php",
data: dataString,
success: function(data) {
   alert(data)

        return false;
}

success:function(data){}
中的
data
是您在php文件中的回声。

其他人指出您的php文件中有错误,但您的javascript中也有错误:

$.ajax({
type: "POST",
url: "apotelesma.php",
data: dataString,
success: function() {
   alert(dataString)

        return false;
}
应该是:

$.ajax({
type: "POST",
url: "apotelesma.php",
data: dataString,
success: function(data) {
   alert(data)

        return false;
}

success:function(data){}
中的
data
是您在php文件中回显的内容。

您没有发送变量。将AJAX更改为在
data
区域中包含变量
num1
num2

$("#sum").click(function() {
    var num1 = $("#num1").val();
    var num2 = $("#num2").val();
    $.ajax({
        type: "POST",
        url: "apotelesma.php",
        data: {
            num1: num1,
            num2: num2
        },
        success: function(data) {
            alert(data);
            return false;
        }
    });
    return false;
});
并将您的PHP更改为以下内容:

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;
echo $num1 + $num2;

您没有发送变量。将AJAX更改为在
data
区域中包含变量
num1
num2

$("#sum").click(function() {
    var num1 = $("#num1").val();
    var num2 = $("#num2").val();
    $.ajax({
        type: "POST",
        url: "apotelesma.php",
        data: {
            num1: num1,
            num2: num2
        },
        success: function(data) {
            alert(data);
            return false;
        }
    });
    return false;
});
并将您的PHP更改为以下内容:

$num1 = isset($_POST['num1']) ?  $_POST['num1'] : 0;
$num2 = isset($_POST['num2']) ?  $_POST['num2'] : 0;
echo $num1 + $num2;


我还在html代码中添加了一个div,包括apotelsma.php。您可以在js中对两个数字求和。那么,为什么要让ajaxVoting关闭呢。您对PHP语法、返回值和更改Javascript中div的内容有疑问。三个问题合一。把你的问题分解成小块,如果你被卡住了,问一个更具体的问题。javascript中仍然有一个错误。。。看看我的答案。我还在html代码中添加了一个div,包括apotelsma.php。你可以在js中对两个数字求和,那么让ajaxVoting关闭的原因是什么。您对PHP语法、返回值和更改Javascript中div的内容有疑问。三个问题合一。把你的问题分解成小块,如果你被卡住了,问一个更具体的问题。javascript中仍然有一个错误。。。看一下我的答案。接近。但您可能需要检查是否设置了任何一个post值。如果一个值已发布,而另一个值未发布,则您将得到一个错误。好的,谢谢,但我想在div中显示这些值,正如我在评论中所说的:或者以另一种方式显示该值。哦,对不起。当我执行demorgans lawok时,忘记将我的&&切换到| |,但是如果我想传递变量$apotelesma并显示在result div中,有什么办法吗?嗯,我使用.append(data)进行了切换,它可以工作。谢谢大家的回答。结束。但您可能需要检查是否设置了任何一个post值。如果一个值已发布,而另一个值未发布,则您将得到一个错误。好的,谢谢,但我想在div中显示这些值,正如我在评论中所说的:或者以另一种方式显示该值。哦,对不起。当我执行demorgans lawok时,忘记将我的&&切换到| |,但是如果我想传递变量$apotelesma并显示在result div中,有什么办法吗?嗯,我使用.append(data)进行了切换,它可以工作。谢谢大家的回答。最后一行是有意义的,ajax没有用,只是执行加法。最后一行是有意义的,ajax没有用,只是执行加法。好的,我可以看到结果,警报(数据),但是如果我想在div中显示结果,你可以使用
$(“#result_id”).val(数据)嗯,我是用.append(数据)完成的,它可以工作。谢谢大家的回答。好的,我可以看到结果,警报(数据),但是如果我想在div中显示结果,你可以使用
$(“#result_id”).val(数据)嗯,我是用.append(数据)完成的,它可以工作。谢谢你们的回答。