我在PHP中创建了包含表单的代码。在此表单中,用户可以插入通知。为了将数据保存到数据库中,我创建了这个提交按钮,其值为POSTO
。
但是当我填写表单并单击“提交”按钮时,没有任何反应,数据也不会保存到数据库中。一个 如果我输入一个错误的表名,它就不显示错误。
这是我的数据库:database
这是PHP代码:
<html>
<head>
<title></title>
</head>
<body>
<?php
if( !($database=mysql_connect("localhost","root",""))||!(mysql_select_db("st_login",$database)) )
print("Could not connect");
//postohen announcement
echo "Post announcement";
print("<form><p> <textarea cols='40' rows='30'></textarea> </p>
<input type='submit' name='njoftim' value='Posto'/></form> ");
if(isset($_POST['njoftim'])){
$njoftim=$_POST['njoftim'];
$query="INSERT INTO `njoftime` (njoftim) VALUES ('$njoftim')";
if(!($result=mysql_query($query,$database)))
{
print("Could not execute query");
die (mysql_error());//ose error
}
}
mysql_close($database);
?>
</body>
</html>
答案 0 :(得分:0)
直接解决问题:您必须在表单中指定post方法:<form method="POST">
,否则您的$_POST
超全局不会填充表单值。要么是这个,要么使用$_GET
,但$_POST
更好。
而GET请求只应用于检索数据。
另请注意,mysql
扩展程序已弃用,请改用mysqli
或PDO
。它更安全。
您的代码也可以使用无尽的SQL注入功能 - 这是DROP DATABASE
的一种方式。因此,请清理用户发布的输入。