【问题标题】:PHP Magento - redirect and send data via post without formPHP Magento - 通过无表单的帖子重定向和发送数据
【发布时间】:2013-01-30 03:00:57
【问题描述】:

我有 2 个 php 页面。我想将第 1 页(包含数据(例如用户名))重定向到仅接收帖子数据的第 2 页。

这是第 2 页中收到的代码(由于开发原因无法编辑):

if (!$_POST["username"]||$_POST["username"]=="Studio") $username="Studio".rand(100,999);
else $username=$_POST["username"]; 

我尝试在我的案例中使用 curl,但没有得到我需要的数据。

这是我在第 1 页中的代码:

$src = "http://test.com/test.php"
//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL,$src);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,"username=".$title);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);

$this->_redirectUrl($src);

【问题讨论】:

  • 为了使$username=$_POST["username"]; 工作,您需要单击将用户名放入httprequest 对象的提交按钮。如果无法在此处添加,您可以使用 cookie 并将该数据存储在 cookie 中。
  • @Andrew 我无法编辑第 2 页。因此,数据必须通过邮寄方式发送。

标签: php magento redirect post


【解决方案1】:

您是否尝试过将 CURL 与 POST 结合使用?

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url); //set URL
curl_setopt($ch,CURLOPT_POST, 1); // make a POST request
curl_setopt($ch,CURLOPT_POSTFIELDS, $post_vars);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);

$post_vars 可以类似于 'lastname=smith&firstname=bill'

【讨论】:

  • 是的,我做到了。写完该代码后,我重定向到第 2 页。我没有找到 post 变量。
  • 你是如何重定向的?通常,如果您正在执行标头重定向,则会创建一个新请求,从而丢失 POST
  • by $this->_redirectUrl($src); (在magento中,它用于重定向到外部url)
猜你喜欢
  • 2011-03-03
  • 1970-01-01
  • 1970-01-01
  • 2011-02-26
  • 2023-04-08
  • 1970-01-01
  • 2017-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多