Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Drupal 6-加载其他内容而不重定向_Php_Drupal_Drupal 6 - Fatal编程技术网

Php Drupal 6-加载其他内容而不重定向

Php Drupal 6-加载其他内容而不重定向,php,drupal,drupal-6,Php,Drupal,Drupal 6,我创建了一个自定义模块,其中包括一个hook\u submit函数。是否可以在此时加载另一个页面/表单而不必重定向 原因是在submit函数的逻辑中,有一些变量我希望传递到另一个页面,但它包含复杂的数据结构(对象、数组等),这不适合post/get数据 谢谢hook_submit()是表单处理链的末端。一旦它完成了它的任务,你有两个选择:重定向(通过drupal_goto()或返回$form[“#redirect'])到另一个页面,或者什么都不做,在这种情况下,你点击提交按钮的页面将被重新加载

我创建了一个自定义模块,其中包括一个
hook\u submit
函数。是否可以在此时加载另一个页面/表单而不必重定向

原因是在submit函数的逻辑中,有一些变量我希望传递到另一个页面,但它包含复杂的数据结构(对象、数组等),这不适合post/get数据

谢谢

hook_submit()是表单处理链的末端。一旦它完成了它的任务,你有两个选择:重定向(通过drupal_goto()或返回$form[“#redirect'])到另一个页面,或者什么都不做,在这种情况下,你点击提交按钮的页面将被重新加载

您有几个选项可以将数据传递到重定向目的地$\u会话和最常用的数据库。您还可以在javascript中的Drupal.settings对象中设置复杂的数据值,但在本例中,如果您的最终目标是通过PHP解析该信息,那么这对您没有多大帮助


没有具体的关于你的最终目标的信息,很难提供具体的建议,但是假设使用$SY会话或数据库作为缓存不是你的选择,你可以考虑查看核心FAPI和CoToots的多个表单的相应实现以获得额外的指导。

< P>在Drupal中你可以确定提交表单的路径。为此,您可以使用

$form['#action'] = url("<another page>") ;
$form['#action']=url(“”);
在您的表单中,提交后,它会将您带到另一个页面,您仍然可以从该表单中获取所有帖子值。使用
$\u post[''']
进行进一步的帖子值检索


希望这会有所帮助。

使用jquery的load函数加载另一个页面/表单。这会不会给我带来无法传递PHP变量的同样问题?你可以通过传递url来发送变量,比如
index.PHP?id=3
。我的观点是,我要传递的变量不仅仅是字符串或整数rs,它们非常大和复杂(可能对GET来说太大了)。谢谢你的回答。我希望不是这样,但我会调查$\u会话。再次感谢。另一个选择是通过ajax(D6中的ahah,D7中的ajax)处理表单“提交”操作,然后让表单“交换”“呈现时的内容。希望这有帮助。谢谢你的回答。我的问题是,在提交表单时,我建立了一个复杂的数据类型,对于POST/GET数据来说太大了。对不起,我没有说清楚,谢谢你的回答:)