【问题标题】:Can I set a $_REQUEST variable in PHP?我可以在 PHP 中设置 $_REQUEST 变量吗?
【发布时间】:2019-01-30 03:37:32
【问题描述】:

我有一个使用 WordPress 用 PHP 编写的网站。在我的网站上,我安装了一个名为 UltimateMember 的插件。在这个插件中,您可以添加一个注册表单,让访问者可以选择注册到我的页面。

我还安装了一个名为 Newsletter 的插件。此插件创建一个页面,用户可以在其中注册双重选择验证以接收新闻通讯。

我现在的计划是删除此站点并在注册表单中添加一个复选框。当用户想要接收我的时事通讯时,他可以选中该复选框。

当他提交注册时,我可以检查是否在注册请求期间选中了复选框。在这个函数中,我想要求 Newsletter 插件中的类调用那里的函数来发送时事通讯。

在这个函数中有一行代码,函数在其中接收电子邮件地址(通常从新闻通讯页面上的表单发送):

$email = $this->normalize_email(stripslashes($_REQUEST['ne']));

当我现在在没有提交表单的情况下调用函数时,我遇到了一个问题,因为这个变量将为空。

所以我的问题是,在注册过程中调用函数订阅用户之前,是否可以设置这个 $_REQUEST 变量?

【问题讨论】:

    标签: php wordpress plugins


    【解决方案1】:

    要么发送另一个变量:

    $other_var = 'me@example.com';
    $email = $this->normalize_email(stripslashes($other_var));
    

    或者,是的,只需定义 $_REQUEST 变量:

    $_REQUEST['ne'] = 'me@example.com';
    $email = $this->normalize_email(stripslashes($_REQUEST['ne']));
    

    【讨论】:

    • 这成功了。谢谢m8!
    【解决方案2】:

    在提交表单之前,您必须检查用户是否真的点击了提交按钮:

    <php?
    
        if (isset($_POST['submit'])) {
          $email = $this->normalize_email(stripslashes($_REQUEST['ne']));
        }
    <?
    

    【讨论】:

      【解决方案3】:
      $email = isset($_REQUEST['ne']) ? $this->normalize_email(stripslashes($_REQUEST['ne'])) : "temporary@email.com";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-08
        • 1970-01-01
        • 2014-01-02
        • 2012-04-07
        • 2015-07-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多