使用 cURL 将表单 POST 到两个地方

2024-02-06

昨天我问了一个问题 https://stackoverflow.com/questions/12165649/how-can-i-execute-php-before-posting-to-someone-elses-script-from-a-form关于我如何劫持我的 MailChimp 联系表单以发送额外的电子邮件(当满足某些条件时)。

我写的改变了action="...从 MailChimp URL 到我自己的 URLprocess_email.php代码类似于以下内容:

extract($_POST);
$url = 'http://myMailchimpUser.us2.list-manage.com/subscribe/post';
$fields = array(
    'u' => urlencode($u),
    'id' => urlencode($id),
    'group' => http_build_query ($group),
    'MERGE1' => urlencode($MERGE1),
    'MERGE2' => urlencode($MERGE2),
    'MERGE3' => http_build_query($MERGE3),
    'other_more_info_text' => urlencode($other_more_info_text),
    'submit' => urlencode($submit)
);

foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);
curl_close($ch);

我还没有添加向自己发送电子邮件的代码,但这应该是微不足道的。我遇到的问题this代码是,它没有将我重定向到 MailChimp 页面,而是实际在其中加载process_email.php(并且其启动加载不正确。)

我知道如果我使用 JavaScript,我可以完成我想做的事情,但在我看来,这不是正确的方法。有人可以给我提供任何帮助吗?


如果我理解正确的话:您想首先在本地发布数据,然后让表单发布到 Mailchimp。如果这就是您想要做的,那么使用一些连接到表单(或表单按钮)的 JS 可能是最好的方法。我认为它is根据您的情况采取正确的方法。

像下面这样的 jQuery 将首先在本地 POST 表单,一旦请求完成,它将使用给定的操作 url (mailchimp) 提交表单。

$(document).ready(function(){
    $('#submit-button').click(function(event){
        event.preventDefault();
        $.post("your_email_parser.php", $('#form-id').serialize(), function(){
            $('#form-id').submit();
        });
    });
});

...

<form id='form-id' action='http://myMailchimpUser.us2.list-manage.com/subscribe/post' method='post'>
    ...
    <input type='submit' id='submit-button' />
</form>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 cURL 将表单 POST 到两个地方 的相关文章

  • PHP cURL 重定向到本地主机

    我正在尝试使用带有 cURL 的 php 脚本登录外部网页 我是 cURL 的新手 所以我觉得我错过了很多东西 我找到了几个例子并修改了它们以允许访问https页面 最终 我的目标是能够登录页面并在登录后通过指定的链接下载 csv 到目前为
  • XP及PHP MYSQL 练级系统

    我已经查看了所有提出的问题和答案 但我似乎找不到最适合我的答案 我想做的是开发一个系统 当用户达到一定的 XP 限制时 系统会进入下一个级别 它显示了下一个 XP 之前需要多少 XP So lvl1 0 gt lvl2 256 gt lvl
  • 如何在 Laravel 5 中对合并集合进行分页?

    我正在创建一个包含两种类型的对象的流 BluePerson 和 RedPerson 为了创建流 我获取所有这两个对象 然后将它们合并到一个集合中 这样做之后 我需要对它们进行分页 但是分页似乎是针对雄辩的模型和数据库查询 而不是集合 我见过
  • 在Windows上安装php Composer时出现错误

    在安装 Composer 以使用 Laravel 框架时 我遇到了一些错误 Download failed file get contents SSL operation failed with code 1 OpenSSL Error m
  • WordPress 安装中发现的恶意 PHP 代码有什么作用?

    我能够解码在一些 WordPress 文件中找到的以下 PHP 脚本 只是出于好奇 有人可以告诉我这段代码实际上是做什么的吗 看起来它已经以某种方式复制到同一服务器上的其他 WordPress 安装中
  • PHP 从日志事件中获取行号

    好的 我还有一个问题HERE https stackoverflow com questions 3213423 php how could i make this class better suggestions feedback wel
  • 如何在 Laravel 5 中的视图模板上显示会话数据

    我正在尝试在 Laravel 5 中的视图模板上显示会话数据 但是它似乎没有显示任何内容 这是我用来设置会话的代码 Session set bookingConfirmed BookingDates where id Session get
  • filter_input() 何时删除 POST 变量的斜杠?

    我创建了一个小型 PHP 脚本 它在 PHP 5 2 17 的服务器上运行magic quotes gpc指令已启用 我没有对 php ini 文件的写访问权限 并且我想从用户输入中删除所有斜杠 即使magic quotes gpc指令被关
  • Opencart 的 $this->config->get('module_var_name')

    我正在尝试自定义 Opencart 支付模块 我看到很多地方都使用了配置信息 但我找不到任何创建正在使用的变量的内容 我知道在管理页面中 如果我选择 paypal 标准 我可以设置所有 配置 信息 但我找不到强调它的 模型 是否有模型 我希
  • 让用户渲染自己的 SVG 文件的安全隐患

    我计划让网站用户上传他们自己的 SVG 文档并使用inkscape or svg2pdf 用户要么未经身份验证 要么经历一个简单的注册过程 所以我预计会有一些黑客尝试 我可以采取哪些过滤措施来最大程度地减少安全威胁 Inkscape 似乎并
  • 使用php插入sql数据库时出错

    我有一个带有 MySQL 插入查询的程序 sql INSERT INTO people person id name username password email salt VALUES person id name username p
  • PHP别名@函数

    我是 PHP 新手 看到一些使用 前缀调用函数 如 mysql ping 的示例 我感到很困惑 它是做什么用的 谷歌搜索 搜索没有太大帮助 因为 被丢弃并且 别名 不是足够好的关键字 抑制错误 警告和通知 如果你用自定义的方式补充它 你可以
  • 扫描 PHP 上传的病毒

    我目前正在使用以下代码来扫描作为申请表的一部分上传的文件 safe path escapeshellarg dir file command usr bin clamscan stdout safe path out int 1 exec
  • SVG 转 JPG / PNG

    有没有工作模块可以convert a SVG image into像素格式如JPEG or PNG 看看蜡染工具包 具体来说是光栅化器 http xmlgraphics apache org batik tools rasterizer h
  • 如何检查一个值是否已经存在以避免重复?

    我有一个 URL 表 但我不想要任何重复的 URL 如何使用 PHP MySQL 检查给定 URL 是否已在表中 如果您不想重复 可以执行以下操作 添加唯一性约束 use REPLACE http dev mysql com doc ref
  • 除括号之间的内容外,所有内容均小写

    考虑以下字符串 LoReM FOO IPSUM dolor BAR Samet fooBar 我正在寻找一种方法来小写所有内容 除了 brackets 之间的内容应该被忽略 所以期望的输出是 lorem FOO ipsum dolor BA
  • 使用 html5 分块上传文件

    我正在尝试使用 html5 的文件 API 分块上传文件 然后在服务器端用 php 重新组装它 我正在上传视频 但是当我在服务器端合并文件时 大小增加了 并且它变成了无效文件 请注意 以下 html5 代码仅适用于 chrome 浏览器 在
  • 表单提交后显示 $_FILES['image']

    提交表单后如何显示上传的图片 提交表单后 它将是一个预览页面 因此我不会在 MySQLet 中存储图像类型 BLOB 如何显示 FILES image
  • MySQL 正在将我的时间戳值转换为 0000-00-00

    我是 PHP 新手 目前仍在学习中 我认为我的注册表有问题 username password email全部成功插入MySQL registered and last seen不要 我以为我正在使用getTimestamp 错了 但它呼应
  • SimpleXML插入处理指令(样式表)

    我想集成一个XSL文件在一个XML给我的字符串php CURL命令 我试过这个 output XML gived me by curl option hotel simplexml load string output hotel gt a

随机推荐

  • Apache Tomcat WebService 中的服务出现故障

    在 Web 服务中添加此方法后 我的 apache tomcat Web 服务出现错误服务 public String getAllEvent JSONArray jsonArray new JSONArray try Class forN
  • 在 sqlalchemy 中定义列 func.count 的名称

    有两张桌子 Tbl1 Table tbl 1 metadata Column id Integer primary key True Column user id Integer ForeignKey user id nullable Fa
  • 如何在 Node.js 中获取服务器目录之上的文件

    我正在尝试使用 node js 服务器提供音频文件 问题是 我希望能够获取计算机中的任何音频文件 但我不知道如何使 html 中的音频元素与服务器上方的目录一起使用 有this https stackoverflow com questio
  • Laravel classloader.php 错误无法打开流:没有这样的文件或目录

    我能够正常运行 php artisan migrate 如果我使用 Request all 我能够获取所有表单输入 但是当我尝试将数据添加到我的 mysql 数据库表时 我收到以下错误 ErrorException in ClassLoad
  • Eclipse 片段项目是否有与 BundleActivator 等效的工具?

    我正在构建一个 Eclipse 插件 它在常规插件项目中提供一组核心功能 我通过片段项目提供的可选功能 但我需要片段在启动时向主插件注册自己 我无法在片段项目中拥有 Bundle Activator 所以我想知道是否有一些替代机制来声明一个
  • 回归分析中的分类特征数据和序数特征数据差异?

    在进行回归分析时 我试图完全理解分类数据和序数数据之间的差异 目前 已经明确的是 分类特征和数据示例 颜色 红 白 黑为什么分类 red lt white lt black逻辑上是不正确 序数特征和数据示例 状况 旧的 翻新的 新的为什么序
  • 带元胞数组的 Matlab 动态字段名结构

    我如何使用动态字段名访问以下结构路径 var refxtree CaseDefinition FlowSheetObjects MaterialStreamObjects 8 MaterialStreamObjectParams Press
  • 在使用 Jest 进行测试之前等待 React 组件状态更新

    我有一个组件handleAdd功能 该函数调用一个库 该库又调用axios并返回一个承诺 一旦解决了这个问题 handleAdd 方法更新组件状态 进而渲染子组件 换句话说 它首先检查服务器以确保在本地显示该项目之前已添加该项目 使用 Je
  • Python3 将所有字符转换为 HTML 实体

    我正在使用Python3 我想知道是否有一个模块或默认函数可以将文本的所有字符转换为html实体 甚至字母和数字 因为我不想为此制作翻译映射 解决了 正如 justhalf 告诉我的 我通过创建这个函数找到了解决方案 def htmlEnt
  • 如何修复“对象不是此领域架构的一部分”

    我正在尝试设置一个使用Realm数据库 但我似乎无法使其工作 我也禁用了Instant Run但这也没有解决问题 这是我的代码文件 应用程序级别的build gradle apply plugin com android applicati
  • 如何在 OMNeT++ 中创建随机连接图?

    我正在尝试创建一个具有随机连接节点的图 节点应该随机连接 如果一个节点已经连接到另一个节点 则不应使用不同的连接再次连接到同一节点inout port 在文档中 https doc omnetpp org omnetpp manual se
  • 如何用c语言编写一个简单的malloc函数

    作为操作系统的作业 我们必须用 C 编程语言编写自己的 malloc 和 free 代码 我知道如果我要求它的代码 我就没有必要学习 我面临的问题是不知道在哪里包含初始化 50000 字节的 char 数组并使两个列表空闲和使用 在我的函数
  • 如何生成动态数组

    我必须生成一个动态菜单来从数据库中获取数据并将结果存储在动态数组中 如何在 php 中实现这一点 PHP 中的数组默认是动态的 只需向其中添加更多项目即可 如本例所示 假设数据库为MYSQL result mysql query menu
  • json.decode() 输入意外结束(在字符 1 处)

    我在登录用户时遇到了 flutter 中的匿名关闭错误 前几天还可以 但现在不行了 不知道为什么 所以请提前提供帮助和感谢 每当我填写详细信息并点击登录按钮时 它都会抛出以下错误 E flutter 2914 ERROR flutter s
  • 如何使用 ReactJS 嵌入 Gist

    我正在尝试使用 ReactJS 嵌入 Gist 但出现以下错误 无法对 文档 执行 写入 除非显式打开 否则无法从异步加载的外部脚本写入文档 这是我的组件 var EmbeddedGist React createClass render
  • 需要从 webapp 执行 shell 脚本并在页面中显示控制台输出

    我正在寻找 java 示例或库来帮助我将其集成到 Struts2 Spring 应用程序中 许多构建系统 例如 Luntbuild 或 Hudson 都具有此功能 我想在我尝试从其中一个示例中挖掘它之前 我想我会问是否有人知道一个独立的示例
  • 即使链接器可以找到该库,为什么我也会收到“DSO 丢失”错误?

    我正在针对我编写的共享库编译一个程序 这个库又依赖于Boost program options 以及其他图书馆 当我编译程序时 我当然需要提及我的库 但我收到 DSO 错误 g ism create conf cc o ism create
  • 如何在pyqt中检查复选框是否被选中

    我试图根据是否选中复选框来制作条件语句 我尝试过类似以下的操作 但它总是返回 true self folderactive QtGui QCheckBox self folders self folderactive setGeometry
  • 阻止自动保留,是否会影响 self 中的 ivars?

    如果我有课 interface A NSObject BOOL b id c end 和参考b and c在一个块中 是块保留self自动地 要不就b and c About c 它可能会被保留 但是怎么样b 比尔的回答不太正确 如果你有一
  • 使用 cURL 将表单 POST 到两个地方

    昨天我问了一个问题 https stackoverflow com questions 12165649 how can i execute php before posting to someone elses script from a