我正在尝试在PHP生成的电子邮件中创建一个链接到UPS跟踪页面。用于提交跟踪号的页面上的表单如下所示:
<form action="http://wwwapps.ups.com/WebTracking/track" method="post">
<input type="hidden" name="trackNums" value="'.$returnIn->getOutgoingTrackingNumber().'"/>
<input type="submit" name="track.x" value="'.$returnIn->getOutgoingTrackingNumber().'" class="linkButton"/>
</form>
如果我在我自己的网站上复制它,它可以正常工作:)
问题是如果我想把它放在一封电子邮件中...... Outlook不会处理表单,所以我创建了一个链接到我们网络服务器上托管的重定向页面,如下所示:
<a href="email_tracking_link.php?ups=TRACKINGNUMBER">TRACKINGNUMBER</a>
现在,在email_tracking_link页面上,我需要将此表单和FORWARD THE USER提交到页面。我可以使用cURL或file_get_contents提交表单,但这会在我自己的站点中呈现页面,而不会在UPS页面上显示任何CSS样式等。我的代码目前看起来像这样:
if (isset($_GET['ups']))
{
$url = 'http://wwwapps.ups.com/WebTracking/track';
$data = array('trackNums' => $_GET['ups'], 'track.x' => $_GET['ups']);
// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
}
如果我渲染表单并让用户点击按钮,那么它们将被转发到UPS页面,并附带它的CSS等。我希望在没有用户点击按钮的情况下发生这种情况。
如何以编程方式复制此行为?