1
我在處理一個小型網站時遇到了一個小問題。基本上,我已經設置了一個用戶可以將任何想要的內容輸入到<textarea>
元素中的地方。當表單被提交時,它被髮送到PHP腳本以將其存儲在數據庫中。然後,頁面被重定向到顯示所有已提交條目的索引年齡。這工作,但以一種奇怪的方式。PHP和SQL無法正常工作
因此,到目前爲止,無論他們鍵入什麼都不會顯示在index.php上,直到他們再次轉到表單並提交另一個條目。然後,來自以前的那個出現,而不是他們剛剛放入的那個,而且這個鏈條繼續前進。
我希望它顯示一切,包括他們剛剛提交表單時的內容。這裏是我的3個腳本
的index.php
define("HOSTNAME", "localhost");
define("USERNAME", "root");
define("PASSWORD", "");
define("DB_NAME", "testdatabase");
$retrieve = new mysqli(HOSTNAME, USERNAME, PASSWORD, DB_NAME);
$query = "SELECT * FROM entries ORDER BY EntryID DESC";
$rs = $retrieve->query($query);
if (!$rs){
echo($retrieve->error);
} else {
$array = $rs->fetch_array(MYSQL_ASSOC);
while($array = $rs->fetch_array(MYSQL_ASSOC)){
echo("<div class='panel panel-default'>
<p>" . $array['EntryContent'] . "</p>
</div>");
}
}
「newentry.php」(形式,此頁面上沒有PHP代碼)
<form method='post' action='addentry.php'>
<textarea name='EntryContent' class='styled'></textarea>
<span class='pull-right'>
<input type='reset' class='btn btn-default'/>
<input type='submit' class='btn btn-primary'/>
</span>
</form>
「addentry.php」(進程的形成,並將其添加到數據庫)」
<?php
$EntryContent = htmlentities($_POST['EntryContent']);
define("HOSTNAME", "localhost");
define("USERNAME", "root");
define("PASSWORD", "");
define("DB_NAME", "testdatabase");
$connection = new mysqli(HOSTNAME, USERNAME, PASSWORD, DB_NAME);
$sql = "INSERT INTO entries VALUES(null, \"$EntryContent\")";
if ($connection->query($sql) == true){
header("Location: index.php");
} else {
echo("Error connecting to database.<br>" . $connection->error);
}
?>