2 回答

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
這與 php 的工作方式無(wú)關(guān),而是與 HTML 中的表單工作方式有關(guān)。
我假設(shè)在你頁(yè)面的某處你有這條線
<form action="/contact.php">
或類(lèi)似的東西。用戶提交表單后,操作鏈接將告訴瀏覽器去哪里。要抑制這種情況,您可以按照此處所述使用 JavaScript或使其僅鏈接回首頁(yè)。
或者,您也可以通過(guò)發(fā)送這樣的重定向標(biāo)題從您的聯(lián)系頁(yè)面重定向到您的首頁(yè):
header('Location: '.$newURL);

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果我理解正確的話,你想執(zhí)行一些外部 php 文件,而不是在提交表單時(shí)離開(kāi)你所在的頁(yè)面。
希望這是正確的。
選項(xiàng) 1 - header()
實(shí)現(xiàn)非常相似的行為的一種常用方法是header
方法。這會(huì)將您重定向到特定文件。
header('location: index.php');
這也可用于將 URL 中的附加數(shù)據(jù)作為$_GET
值傳遞。
小例子:
header('location: index.php?login=success');
注意:您仍然希望保留exit()
以防止執(zhí)行重定向后的代碼。
選項(xiàng) 2 - PHP_SELF
有點(diǎn)棘手,但您也可以使用重定向到您已經(jīng)在的頁(yè)面。為此,您可以使用$_SERVER['PHP_SELF']
.
處理這個(gè)女巫護(hù)理!
用戶有辦法操縱 url,這意味著您必須應(yīng)對(duì)潛在的跨站點(diǎn)腳本 (XSS) 攻擊。這很容易用 完成htmlspecialchars
,但非常重要!
以下是如何在表單中使用它:
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
因?yàn)槟陧?yè)面上重定向,您很可能希望有另一段 PHP 代碼來(lái)檢查可能發(fā)送的數(shù)據(jù)$_GET
。$_POST
- 2 回答
- 0 關(guān)注
- 133 瀏覽
添加回答
舉報(bào)