通过表格跟踪 DHL 的交货状态

问题描述

我有一个问题。我有以下 PHP 脚本

<?PHP
$dhlsendnumber=$_GET['dhlsendnumber'];
{
   $uri="https://www.dhl.de/de/privatkunden/dhl-sendungsverfolgung.html?piececode=$dhlsendenummer";
   
   header("location: $uri");
   
   Exit;
}
?>

这使我可以使用带有以下 PHP 的表单检查来自 dhl 的交货编号的状态。

    <?PHP
// basic form saved under the name: dhlsendeverfolgung.PHP
?>

<form action="dhlsendeverfolgung.PHP" method="get">

<p>Enter your dhl shipment number<br>.
<input type="Text" name="dhlsendenummer"></p>

<input type="Submit" name="" value="Request shipment status of your dhl package">

</form>

也许有更好的方法可以做到这一点,但到目前为止还是有效的。

但这仅在我将 dhlsendeverfolgung.PHP 放在根目录中时才有效。

但我希望能够使用带有上述代码的表单从我网站的子页面(例如 https://samplepage/dhl-tracken)跟踪送货编号。但我不知道我必须将 PHP 文件放在哪个文件夹中才能实现这一点,或者我必须这样做,以便找到链接,就像我在主页上有表单和在根 PHP 文件中一样。

有人可以帮助我实现这一目标吗?

此外,我想实现带有查询dhl 网页在新窗口中打开而不是在同一窗口中打开,

我需要做什么?

希望得到帮助

解决方法

您实际上可以大大简化此操作,并完全使用 javascript 取消其他页面:

function sendToDHL(form) {
  let num = form.querySelector('input[name="dhlsendenummer"]').value.trim();
  if (!num) {
    alert("Please input a tracking number");
    return;
  }
  let url = "https://www.dhl.de/de/privatkunden/dhl-sendungsverfolgung.html?piececode=" + num;
  window.open(url,'DHLTracking');
}
<form onsubmit="sendToDHL(this); return false;">
  <p>Enter your DHL shipment number.<br>
    <input type="text" name="dhlsendenummer"></p>
  <input type="submit" name="" value="Request shipment status of your DHL package">
</form>