PHP の初心者が関数
について質問しました。ソース コードを見ていていくつか質問がありました。まず、このような関数があります。
function SubmitCheck($var = ""){
if (empty( $_POST)){
return false;
}
if($_SERVER['REQUEST_METHOD'] == 'POST' && (empty($_SERVER['HTTP_REFERER']) ||
preg_replace("/https ?://([^:/]+).*/i", "\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^:]+ ).*/", " \1", $_SERVER['HTTP_HOST']))){
return true;
}
else{
return false;
}
}
この関数は何をしていますか? 簡単な答えをありがとうございます。
また、この関数の戻り値はブール値ですが、なぜ次のような呼び出しが見つかったのですか: submitcheck('islogin') = = 'はい'、実行可能です
-----解決策----------------------- -------
一度にすべて投稿できます 同じ質問が 2 つありますか?
------解決策----------------------
SubmitCheck は、POST で送信されたコンテンツが正しいかどうかを確認します。空ではなく、アクセス元がこのサーバー (プログラムが実行されているサーバー) である場合、
の場合、関数の結果は true を返し、それ以外の場合は false を返します。これはホットリンクを防ぐための関数です。
関数の戻り値はブール型ですが、PHP エンジンはコンパイル時にそれを複合型として認識するため、submitcheck('islogin') == 'yes' は実行できますが、実行できません。期待される結果を達成するために。