【问题标题】:Joomla interaction with php script is problematic / the "action" attribute in formsJoomla 与 php 脚本的交互存在问题/表单中的“action”属性
【发布时间】:2010-08-19 16:11:25
【问题描述】:

我做了一个性格测试。它是一组选择题,当用户提交时,会给出个性描述作为输出。

测试问题被放置在 Joomla“文章”中,因此测试的所有者可以轻松更改它们,然后通过传递给外部 php 脚本的表单句柄输出。像这样:

<form name="name" action="score.php" method="post">    

现在发生了一件奇怪的事情。当测试的所有者更改测试问题中的某些内容并保存时,动作属性就会消失。这会导致测试自行重置。

表单句柄如下所示:

<form name="name" method="post">

这种情况一遍又一遍地发生,即使有多个测试实例。 我不知道这是什么。 Joomla 会用这样的属性做一些奇怪的事情吗?

【问题讨论】:

    标签: php html forms webforms joomla


    【解决方案1】:

    Joomla 的工作原理是通过 index.php 页面发送所有内容,以控制某些事情可以对系统执行的操作。

    我建议您将测试开发为 Joomla 的一个模块,并让网站所有者通过 Joomla 管理中的参数更改问题。

    如果他们想要将测试作为页面的主要内容包含在内,他们只需将模块定位在未使用的模板位置并使用{loadposition module_position}作为内容包含它。

    【讨论】:

      【解决方案2】:

      是的,你不能那样做。编辑器会在其他任何事情发生之前就删除代码。

      您可以尝试使用 http://www.chronoengine.com/component/content/article/1-latest/26-what-is-chronoforms.html 之类的东西来创建一个表单,然后将 javascript/PHP 添加到表单本身以允许处理。您可能可以将您编写的大部分内容直接放入组件中。

      【讨论】:

      • 谢谢。我看过这个解决方案。还有一个关于 Joomla 行为的问题:只要没有人更改文章,一切似乎都很好,只有当文章被更改时才会出现问题。所以现在看起来没问题,你只需要在编辑时通知我。但是我想知道的是,当服务器上的某些内容发生变化时,或者缓存发生了某些变化时,是否也会触发此行为。或者:只要没有人改变它,这种形式会“永远”工作吗?奇怪的是编辑器有时会过滤掉代码,有时不会。
      • 根据您使用的所见即所得编辑器,它会删除它不喜欢的任何内容(查看插件 - 选项的编辑器)。最好的方法是将他们的用户帐户设置为无编辑,或者建议他们不要编辑它。或者,只需将您的表单放在 Chronoforms 中,不用担心。
      猜你喜欢
      • 2015-07-31
      • 2011-10-25
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 2018-10-01
      • 2015-11-18
      • 2012-05-09
      相关资源
      最近更新 更多