gpt4 book ai didi

php - 如何让MySQL数据库出现在index.php上

转载 作者:行者123 更新时间:2023-11-29 06:19:36 25 4
gpt4 key购买 nike

我的网站 (index.php) 上有一个提交表单,并且我将数据(用户提交)存储到 MySQL 数据库中。现在,我让用户提交帖子,然后页面将他们引导到 update.php,其中显示了他们输入的内容。

但是,我希望MySQL数据库中的所有数据都显示在index.php上。这很像评论系统。用户提交帖子...并在同一页面上的其他已提交帖子之上看到自己的帖子。我想我缺少 AJAX...?

这是index.php的代码

   <div align="center">
<p>&nbsp;</p>
<h2 align="center" class="Title"><em><strong>REDACTED</strong></em></h2>
<form id="form1" name="form1" method="post" action="update.php">
<hr />
<label><br />
<form action="update.php" method="post">
REDACTED: <input type="text" name="text" />
<input type="submit" />
</form>
</label>
</form>
</div>

在 update.php 上我有这个:

   ?php
$text = $_POST['text'];
$myString = "REDACTED";

mysql_connect ("db----.net", "-----3", "------------") or die ('Error: ' . mysql_error());
mysql_select_db ("-----------");

$query="INSERT INTO TextArea (ID, text) VALUES ('NULL', '".$text."')";

mysql_query($query) or die ('Error updating database');

echo " $myString "," $text ";

?>

非常感谢!

最佳答案

我稍微修正了你的 HTML,主要是为了摆脱嵌套的 form标签:

<div align="center">
<p>&nbsp;</p>
<h2 align="center" class="Title"><em><strong>REDACTED</strong></em></h2>
<form method="post" action="update.php">
<label for="text">REDACTED:</label> <input type="text" name="text" />
<input type="submit" />
</form>
</div>

虽然它仍然不太好,但你应该:

  • 更改<div align="center"><div id="container"> ,然后在 CSS 中设置 #container {text-align:center} .
  • 摆脱<p>&nbsp;</p> ,而不是 #container {padding-top:24px} .
  • 更改<h2 align="center" class="Title"><em><strong>REDACTED</strong></em></h2>进入<h2>REDACTED</h2>并添加到 .Title CSS 规则:text-align: center; font-weight: bold; font-style: italic .
  • 您的input也许应该有一个比 text 更好的名字.

调整后的 PHP:

<?php

$text = $_POST['text'];
$myString = "REDACTED";

mysql_connect ("db----.net", "-----3", "------------") or die ('Error: ' . mysql_error());
mysql_select_db ("-----------");

$query = "INSERT INTO TextArea (ID, text) VALUES (NULL, '" . mysql_real_escape_string($text) . "')";
mysql_query($query) or die ('Error updating database: ' . mysql_error());

echo "$myString - $text<hr />";

$query = "SELECT text FROM TextArea ORDER BY ID DESC";
$result = mysql_query($query) or die ('Error querying database:' . mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo $row['text'] . '<hr />';
}

?>
  • AJAX 让它变得更加复杂,所以我没有使用它。
  • 现在,当有人提交 update.php 时,将出现已提交的文本,其下方是所有之前提交的内容。
  • 我添加了mysql_real_escape_string()以防止SQL注入(inject)。这一点非常重要,否则恶意用户可以执行诸如删除所有数据之类的操作。请参阅:Google , Wikipedia , Obligatory xkcd
  • 我添加了mysql_error()因此,如果您的 SQL 失败,您会更好地了解原因。

关于php - 如何让MySQL数据库出现在index.php上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4542714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com