这是我的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"。
请帮我解决这个问题。
我想这至少需要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");
}
?>
你不能混合 if(isset($_POST['hello'])=="dear")
因为isset()会接收一个变量,并检查它是否被设置,而不是返回一个布尔值的NULL,而不是像这样单独使用它。
if(isset($_POST['hello']) && $_POST['hello']=="dear")