我的php isset在POST方法中无法使用。

问题描述 投票:-1回答:2

这是我的test.php代码

<input type="button" value="click me" name="my_btn" onclick="mybtn();">

<?php
    echo("before is set");

    if(isset($_POST['hello'])=="dear"){
    echo("after is set true");
}
?>

<script src="vendor/jquery/jquery.min.js"></script>

<script>
function mybtn(){

        $.ajax({
            url:"http://localhost/mysites/php_two/test.php",
            method:"post",
            data:{hello:"dear"},
        });

    }
</script>

当点击按钮时,页面只显示button图标+"before is set "文字,但在Devtools网络预览中(在chrome浏览器中),只显示button图标+"before is setafter is set true"。

但是在Devtools网络预览中(在chrome浏览器中),它显示button图标+"before is setafter is set true"。

请帮我解决这个问题。

javascript php jquery ajax post
2个回答
1
投票

我想这至少需要2个PHP页面,第一个用于显示数据,第二个用于创建数据。 显示.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<input type="button" value="click me" name="my_btn" onclick="mybtn();">
<div id="dis">before is set</div>
<script>
   function mybtn(){

        $.ajax({
            url: "data.php",
            type: "POST",
            data:{hello:"dear"},
            success: function(result){
                $("#dis").html(result);
            }
        });

    }
</script>

data.php

<?php
    if(isset($_POST['hello']) && $_POST['hello']=="dear"){
        echo("after is set true");
     }
?>

0
投票

你不能混合 if(isset($_POST['hello'])=="dear") 因为isset()会接收一个变量,并检查它是否被设置,而不是返回一个布尔值的NULL,而不是像这样单独使用它。

if(isset($_POST['hello']) && $_POST['hello']=="dear")
© www.soinside.com 2019 - 2024. All rights reserved.