我是PHP编程的新手,我试图创建一个PHP页面,其中有一个用于编写文本的框,例如,存储此信息并展示它。 ideia是用户打算在框中写入文本并在点击时发送"发送" MySQL将把信息存储在表和命令" atualizaPagina()"将显示添加的信息。
<!DOCTYPE html>
<?php
require_once("enviar.php");
if(!empty($_POST)){
gravaTopico($_POST["mensagem"]);
}
?>
<html>
<head>
<title>Teste em php</title>
</head>
<body>
<?php
atualizaPagina();
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<textarea rows="10" cols="50" name="mensagem"></textarea>
<input type="submit" value="Enviar" />
</form>
</body>
</html>
enviar.php文件在这里
<?php
function gravaTopico($values){
mysql_connect("localhost", "root", "Alabra%$") or die(mysql_error());
mysql_select_db("ifscjr") or die(mysql_error());
$strSQL = "INSERT INTO topicos(comentarios) VALUES($values)";
mysql_query($strSQL) or die (mysql_error());
mysql_close();
}
function atualizaPagina(){
mysql_connect("localhost", "root", "Alabra%$") or die(mysql_error());
mysql_select_db("ifscjr") or die(mysql_error());
$strSQL = "SELECT * FROM topicos";
$rs = mysql_query($strSQL);
while($row = mysql_fetch_array($rs)){
echo $row['comentarios'] . "<br />";
}
mysql_close();
}
?>
答案 0 :(得分:1)
尝试更改此内容:
$strSQL = "INSERT INTO topicos(comentarios) VALUES ('$values')";
答案 1 :(得分:0)
MuthaFury是对的。 但是,你还需要检查$ _POST ins不是空的,你需要检查$ _POST [&#34; mensagem&#34;]是否存在(!空($ _ POST)&amp;&amp; isset($ _ POST [ &#34; mensagem&#34;]))。 并且你需要使用mysql_real_escape_string从引号中转义输入字符串,因为如果你的$ _POST [&#34; mensagem&#34;]包含引号(&#39;)你的sql将被破坏。 代码示例:
$values = mysql_real_escape_string($values);
$strSQL = "INSERT INTO topicos(comentarios) VALUES('$values')";