如果ID總是在網址的結尾是這樣,你可以使用basename抓住它很簡單:
<?php
// in your code you will do this:
//$url = $_SERVER['REQUEST_URI'];
// but for this example, i need your url:
$url = 'https://domain.com/no-access/download-id/572/';
// grab the basename:
$id = basename($url);
echo "($id)"; // (572)
加成現在
,你可以找到$id
這是請求的下載ID,將其放入一個變量中,您可以在寫入忍者形式的代碼中使用該變量。例如:
$url = $_SERVER['REQUEST_URI'];
// this was just for debugging...now comment it out
// $url = 'https://domain.com/no-access/download-id/572/';
// echo "($id)"; (572)
$id = basename($url);
// instead put it in a variable you can use in your form
$GLOBALS['requested-download-id'] = (integer) $id;
現在,無論你的代碼爲你的忍者形式做這樣的事情:
<form id="ninja-form" action="your-action" method="POST">
<?php
// sanity check...something may have gone wrong
if (empty($GLOBALS['requested-download-id'])) {
$download_id = 'NOT FOUND';
} else {
$download_id = $GLOBALS['requested-download-id'];
}
?>
<input value="<?php echo $download_id; ?>" type="hidden" name="download-id">
更加簡化 - 做這一切一下子
<form id="ninja-form" action="your-action" method="POST">
<?php
$id = basename($_SERVER['REQUEST_URI']);
// be sure you ended up with a number
$id = (integer) $id;
if (empty($id)) {
$download_id = 'NOT FOUND';
} else {
$download_id = $id;
}
?>
<input value="<?php echo $download_id; ?>" type="hidden" name="download-id">
好非常感謝,所以我會將網址更改爲https://domain.com/no-access/然後以572爲基準名稱是正確的?我現在需要弄清楚如何將這個添加到忍者表單的隱藏字段 – igloobob
發表一些代碼。此外,我沒有按照關於更改您的網址無法訪問的評論。我只是複製你的示例url。如果你得到'domain.com/no-access'的'basename()',那麼你將會抓住'no-access'而不是'572'。 – WEBjuju
看到我的[編輯](http://stackoverflow.com/questions/41166749/populate-a-form-field-with-page-url/#answer-41166873) – WEBjuju