私はお問い合わせフォームと製品フォームを持っています。私は、商品の価値があるかどうかを確認したいのですが、条件付きで合格することができます。
ブロークン・コード
// If visitor filled out the form on the "Contact Us" page (/contact/index.php) then no 'product' field is required.
if ($_SERVER['HTTP_REFERER'] != "http://www.url.com/contact/index.php" || "http://url.com/contact/index.php") {
if(strlen($product) < 2) {
$errors[] = "<font color='red'>Please enter the product requesting.</font>";
}
}
トラブルシューティング/デバッグコード
$serverValue = $_SERVER['HTTP_REFERER'];
print "The value of SERVER is ". $serverValue;
echo "<br />";
print $_SERVER['DOCUMENT_ROOT']."/contact/index.php";
echo "<br />";
if ($_SERVER['HTTP_REFERER'] != "http://www.url.com/contact/index.php" || "http://url.com/contact/index.php" || "/home/url/public_html/contact/index.php") {
//if ($_SERVER['HTTP_REFERER'] != $_SERVER['DOCUMENT_ROOT']."/contact/index.php") {
print "This is NOT the Contact page";
} else {
print "This IS the Contact page";
}
トラブルシューティング/デバッグ出力
、SERVERの値はhttp://url.com/contact/index.phpです/home/url/public_html/contact/index.php これは、あなたが正しいHTTP_REFERERが渡されているが、それだけで正しく評価されないことを出力することで見ることができContactページ
ではありません。私が他のものを試していたところにコメントアウトされた行があります。私の上で簡単に行ってくださいIm PHPで新しいです。
さてさて、私は私が間違って何をしていたか理解していない成功
if ($_SERVER['HTTP_REFERER'] != "http://www.url.com/contact/index.php" || $_SERVER['HTTP_REFERER'] != "http://url.com/contact/index.php") {
if(strlen($product) < 2) {
$errors[] = "<font color='red'>Please enter the product requesting.</font>";
}
}
その他の考えでこれを試してみましたか?
これは役に立ちました –