試圖找出如何將新帖子提交到已經使用mysql數據庫中的數據條目創建的先前存在的表。我希望它能夠測試請求是否來自POST,如果是,則將新行插入數據庫並在表中顯示新數據。這是我到目前爲止提出的,但提交後,似乎沒有發生,我的表消失。任何幫助是極大的讚賞。PHP將數據提交到同一頁上的表
這是我到目前爲止有:
$result = mysqli_query($dbconnect, $query);
$num_rows = mysqli_num_rows($result);
}
if ($num_rows > 0) // build a table to show results
{
echo "<table border='1'>";
echo "<tr>";
echo "<th>Post ID </th>"; echo "<th>Author</th>";
echo "<th>Title</th>"; echo "<th>Post</th>";
echo "</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['pid'] . "</td>";
echo "<td>" . $row['author'] . "</td>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['post'] . "</td>";
echo "</tr>";
}
echo "</table>";
} else{
echo "No rows returned.";
}
?>
<form name ="myForm" action ="second.php<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>"
method = "POST"> <br><br><br>
<h3> Create a Post </h3>
Author <input type ="text" size ="40" name ="author"/><br>
Title <input type ="text" size ="30" name ="title"/><br><br>
Post <br><textarea rows ="15" cols ="10" name ="post"></textarea><br>
<input type ="submit" name = "submitpost" value ="Submit Post"/>
</form>
<?php
// $sql = "INSERT INTO blog_posts (pid, author, title, post)
VALUES (NULL, '$_POST[author]', '$_POST[title]', '$_POST[post]')";
//if($_SERVER['REQUEST_METHOD'] === 'POST'){
//if(isset($_POST['submitpost'])){
//post the $sql back into the exisiting table somehow
?>
你確實有匹配的右大括號'如果($ _ SERVER [ 'REQUEST_METHOD'] === 'POST'){ 如果(isset($ _ POST [ 'submitpost'])){'?如果沒有,那就是你的問題。錯誤報告應該向你發出通知。另外,沒有關閉''標籤。你的問題不清楚,你的代碼是不安全的。 –
我把這兩個代碼部分放在一起,就像我知道他們必須在那裏一樣,只是不知道該怎麼處理它們。我會評論他們,我的也存在。 – StevieP
在打開PHP標記 (例如'<?php error_reporting(E_ALL);)後立即在您的文件頂部添加錯誤報告。 ini_set('display_errors',1);'然後你的其他代碼,看看它是否產生任何東西, 以及'或死(mysqli_error($ dbconnect))'到'mysqli_query()'。 –