【问题标题】:How do I set session variables in a custom php file in Drupal?如何在 Drupal 的自定义 php 文件中设置会话变量?
【发布时间】:2015-01-27 21:44:31
【问题描述】:

在我的 drupal 站点的子页面中,我有一个表单。我希望将表单发布到一个简单的 process.php 文件,该文件获取表单数据,然后设置 $_SESSION 变量并将用户返回到原始页面。

当前 process.php 文件没有看到标准 drupal 页面中设置的 $_SESSION 变量,反之亦然,drupal 页面没有看到 process.php 文件中设置的 $_SESSION 变量,它们就像完全打开一样不同的网站。我错过了什么?

【问题讨论】:

  • 我也遇到了会话问题并切换到 cookie 并且效果很好。您可以选择使用 cookie 吗?
  • 请提供更多细节。你是如何包含 process.php 的?你为什么要这么做? Drupal 有很多方法可以实现它。顺便说一句:process.php 是文件名的错误名称。
  • @MilanG 我知道 cookie 可能是一种选择,但使用它感觉不太好......它真的只是完全避免了这个问题。
  • @CornelAndreev process.php 只是一个示例文件名。我没有在任何地方“包含”该文件。我正在做一个非常简单的帖子,从页面上的表单到那个 process.php 文件,在那个文件中我想要这样的东西工作:<?php $_SESSION['foo'] = $_POST['foo']; ?> 然后返回到原始页面。
  • 我最终学到的是我需要创建一个模块并使用它来处理表单中的数据并设置我想要的会话变​​量。所以,这就是答案,构建一个模块。

标签: php drupal drupal-7


【解决方案1】:

从我的研究看来,设置会话变量和运行自己的 php 代码的唯一方法是创建一个模块。

我在这里查看了 Drupal.org 教程: https://www.drupal.org/developing/modules 这个在这里: http://www.wdtutorials.com/2012/04/29/drupal-7-how-create-module-part-1

最后,我还建议查看现有模块并从中学习。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 2014-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多