我正在使用JQuery和Ajax但是正在顯示一個錯誤"Notice: Undefined index: status in C:\xampp\htdocs\deadline\data.php on line 5"
這是我的代碼行"$var = $_POST['status']; "
JQuery/AJAX腳本不發送數據到php文件?
我的系統的工作原理,你必須登錄後一個問題(使用會話)問題/狀態發佈系統但是問題是我的JQuery/AJAX腳本作爲我在homepage.php的數據沒有被髮送到data.php(從我的理解,這就是爲什麼我的索引狀態未定義)。
我的代碼
<?php
include("connection.php");
session_start();
if(isset($_SESSION['user_id']) && $_SESSION['user_id'] != "") {
\t \t
\t }
\t else {
\t \t header("location:login.php");
\t }
$sid = $_SESSION['user_id'];
$conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$sql = "SELECT * FROM `users` WHERE id='{$sid}'";
$query = $conn->query($sql);
$result = $query->fetch_assoc();
$fname = $result['fname'];
$lname = $result['lname'];
$time = time();
?>
<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() {
//children code
var status = $("textarea#status").value();
if(status == "") {
\t return false;
}
var data = 'status='+status;
$.ajax({
type: "POST",
url: "data.php",
data: data,
success: function(data) {
$("#statustext").html(data);
}
});
});
});
</script>
</head>
<body>
<div id="global">
<form action="" onsubmit="return false">
<textarea id="status"></textarea>
<button id="postbutton">POST</button>
<a href="logout.php">LOGOUT</a>
</form>
<br/>
<br/>
<div id="allstatus">
<!-- SKELETON -->
<div id="status">
<div id="statuspic">
</div>
<div id="statusinfo">
<div id="statusname">JOnathan</div>
<div id="statustext"> this is the question</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> \t
<!-- SKELETON -->
</div>
</div>
</body>
</html>
<?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) {
\t die("Connection Failed: " . $conn->connect_error);
} else {
echo " success";
}
$sql = "INSERT INTO `question`(id, question) VALUES ('', '{$var}')";
$result = $conn->query($sql);
if($result) {
\t echo "inserted successfuly";
}
else {
\t echo "failed: " . $conn->error;
}
echo " the text: " .$var. " has been added to database.";
?>
如何它應該工作
我想使用jQuery/AJAX我homepage.php送數據到data.php,該數據將返回到homepage.php。成功顯示在我的div #statustext中。
含義當我在textarea輸入字段中寫入問題時,數據被存儲在數據庫中,並被檢索並顯示在瀏覽器的div中。 請幫我感謝..
要以哪種方式發佈數據? – 2015-02-06 05:00:37
使用post方法。我在我發佈的第一個代碼片段(這是homepage.php)中編寫JQuery代碼的方式。 – 2015-02-06 05:03:41
這不是將數據發送到POST方法的方式。 – 2015-02-06 05:05:56