JQuery/AAJAX脚本可以工作,但仍会显示注意事项


JQuery/AJAX script works but notice is still displayed?

我正在将数据发送到另一个php文件,然后在成功时检索数据以显示在div中。但是,当我加载数据时,php脚本通知总是显示"Undefined index:status in…",代码上的那一行是$var=$_POST['status'];。

这是一次重新发布/编辑,因为脚本现在确实有效,但我不明白为什么通知仍在显示?!?

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
//daddy code
$ (document).ready(function() {
//mama code
$("button#postbutton").click(function() {
 var data = $("#formpost").serialize();
$.ajax({
type: "POST",
url: "data.php",
data: data,
success: function(data) {
$("#statustext").html(data);
}
});

});
});


</script>
</head>
<body>

<div id="global">
<form id="formpost" action="" method="post" onsubmit="return false">
<textarea id="text1" name="status" ></textarea>
<button id="postbutton">POST</button>
<a href="logout.php">LOGOUT</a>
</form>
<br/>
<br/>
<div id="allstatus">
<!-- SKELETON -->
<div id="wholestatus">
<div id="statuspic">
</div>
<div id="statusinfo">
<div id="statusname">JOnathan</div>
<div id="statustext"> </div>
<div id="statusoption"><button id="likestatus">LIKE</button></div>
<div id="statusoption"><button id="commentstatus">COMMENT</button></div>
<div id="statusoption"><button id="sharestatus">SHARE</button></div>
<div id="statusoption"><button id="statustime">TIME</button></div>

</div>

</div>	

<!-- SKELETON -->


</div>

</div>

</body>

我的数据文件DATA.php

<?php
$var = $_POST['status'];
const DB_HOST = 'localhost';
const DB_USER = 'root';
const DB_PASS = '';
const DB_NAME = 'forum';
//connecting 
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if($conn->connect_error) {
	die("Connection Failed: " . $conn->connect_error);
} else {
}
$sql = "INSERT INTO `question`(id, question) VALUES ('', '{$var}')";
$result = $conn->query($sql);
if($result) {
	
}
 else {
 	echo "failed: " . $conn->error;
 }
echo  "{$var}" ;
?>

在下面添加行/检查

$var = '';
if(isset($_POST['status'])){
  $var = $_POST['status'];
}

试试这个,

<?php
const DB_HOST = 'localhost';
const DB_USER = 'root';
const DB_PASS = '';
const DB_NAME = 'forum';
//connecting 
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if($conn->connect_error) {
die("Connection Failed: " . $conn->connect_error);
} else {
 }
if(isset($_POST['status']))
{
$var = $_POST['status'];
$sql = "INSERT INTO `question`(id, question) VALUES ('', '{$var}')";
$result = $conn->query($sql);
if($result) {
    }
    else {
    echo "failed: " . $conn->error;
   }
echo  "{$var}" ;
}
 ?>