我正在創建一個社交網絡,我給了用戶一個發佈狀態的選項。當我點擊帖子狀態到時間線按鈕時,即使我填寫了框,我也會得到其他語句,即You didn't enter anything. <a href= home.php>Try again</a><br />
。我已經嘗試了多次修復這個,但我不能。當我點擊時間軸按鈕的發佈狀態時,我想將信息存儲在我的數據庫中,以便將其發佈到他們的個人資料中。有人可以幫我解決這個問題嗎?PHP contenteditable錯誤
home.php:
<form action="poststatus.php" method="post">
<button id="bt6" type="submit" name="button">Post status to your timeline</button>
<b>
<div contenteditable="true" placeholder="Post status" name="userpost" id="content"></div>
</b>
</form>
poststatus.php:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
include("connect.php");
if (isset($_POST['button'])) {
if (empty($_POST["userpost"])) {
echo "You didn't enter anything. <a href= home.php>Try again</a><br />";
} else {
$sql = "INSERT INTO posts (username, post, post_date) VALUES ('" . $username . "', '" . $post . "', '" . $date . "')";
if (mysqli_query($conn, $sql)) {
echo "Your post was added.";
} else {
"<br>error posting . <br> <a href= home.php>Try again</a> " . mysqli_error($conn);
}
}
}
設置'CONTENTEDITABLE =「真」'在一個div不會讓它表單輸入。它仍然只是一個div,並且添加一個'name'屬性也不會使它成爲一個整體。在發佈數據之前,您需要將內容複製到表單中的隱藏輸入。 –
'$ username','$ post','$ date'看起來也是未定義的,並打開SQL注入。一旦獲得發佈數據後,您應該參數化。 – chris85
順便說一句,你錯過了一個'回聲'之前你的錯誤信息。 –