【问题标题】:Joomla post formJoomla 邮寄表格
【发布时间】:2016-02-16 05:53:44
【问题描述】:

在 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' />";
}
?>

【问题讨论】:

  • 您确实需要重新编写代码以使用 Joomla API。目前,任何人都可以轻松地将大量值注入您的数据库
  • 是的,我知道,但首先我需要解决保存到数据库的问题。
  • 一些可靠的提示here 以及Joomla Stack Exchange 上的许多其他优秀/解释示例。

标签: joomla


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    相关资源
    最近更新 更多