Joomla发表表格

时间:2015-11-14 20:53:48

标签: joomla

在Joomla中,我试图通过php DirectPHP发布直接在文章中创建的表单并将数据保存到数据库。我不知道为什么,但有时会保存数据,有时则不会。看起来有一些缓存或其他东西,因为如果我显示字段值,它仍然显示我首先填写的表单的第一个值。 如果我对代码进行任何更改(例如,添加一行以回显它的工作原理,但表单再次显示最后一条记录)。请问任何想法(我不想使用Chronoforms组件)。

文章中的代码:

if($_GET['sent']=="ok")
{
$db = mysqli_connect("localhost", "xxxx", "xxxx", "xxxx") or die("Database not found");
mysqli_query($db, "INSERT INTO subscribe_form VALUES('','".$_GET['email_address']."')");
mysqli_close($db);
$form_sent = 1;
echo "Thank you, your email address was saved.";
}
if($form_sent==0)
{
echo "Enter your email address if you want to get subscribed.";
echo "<form action='index.php' method='get'>";
echo "</br></br>Your email address: <input type='text' name='email_address'/>";
echo "<input type='hidden' name='sent' value='ok'/>";
echo "<input type='hidden' name='option' value='com_content'>";
echo "<input type='hidden' name='Itemid' value='240'>";
echo "<input type='hidden' name='id' value='36'>";
echo "<input type='hidden' name='view' value='article'>";
echo "<input type='submit' name='odeslano' value='SAVE' />";
}
?>

1 个答案:

答案 0 :(得分:0)

您的代码有时会保存数据的原因,有时它并不是因为如果电子邮件包含转义字符,那么它可以(静默地)破坏查询。在将其保存到数据库之前,您应该清除$_GET['email_address']

相关问题