$a = $_REQUEST['label'];
$a
変数に格納されている値が from$_GET
か fromかをどのように認識できます$_POST
か? から収集された場合、ユーザーをリダイレクトしたかったの$_GET
です。チェックする方法はありますか?PHPは少し難しいです。このようなもの:
$var = recognize($_REQUEST['label']);
if($var == 'GET') { } else { }
$a = $_REQUEST['label'];
$a
変数に格納されている値が from$_GET
か fromかをどのように認識できます$_POST
か? から収集された場合、ユーザーをリダイレクトしたかったの$_GET
です。チェックする方法はありますか?PHPは少し難しいです。このようなもの:
$var = recognize($_REQUEST['label']);
if($var == 'GET') { } else { }
変数が割り当てられると、それがどこから来たのかを知ることができなくなります (通常)。
このようなことをすることを検討して$_REQUEST
ください$_COOKIE
。
if (isset($_GET['label'])) {
// do redirect
} elseif (isset($_POST['label'])) {
// do something else
}
または、その変数をどこから来たのかわからない深い場所に渡す場合は、次のようにします。
class RequestParameter
{
private $name;
private $value;
private $source;
public function __construct($name)
{
$this->name = $name;
if (isset($_POST[$name])) {
$this->value = $_POST[$name];
$this->source = INPUT_POST;
} elseif (isset($_GET[$name])) {
$this->value = $_GET[$name];
$this->source = INPUT_GET;
}
}
public function isFromGet()
{
return $this->source === INPUT_GET;
}
public function getValue()
{
return $this->value;
}
}
$a = new RequestParameter('label');
if ($a->isFromGet()) {
// do redircet
}
ただし、これが不要になるようにコードを構造化することをお勧めします。1 つの方法は、POST が行われたかどうかを確認することです。
$_SERVER['REQUEST_METHOD'] === 'POST'
チェックif($_GET['label']) { then redirect using header location; }
$ _SERVER ['REQUEST_METHOD']を使用することをお勧めします:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// …
}
詳細については、ドキュメントPHPを参照してください
これを試して
if(isset($_REQUEST['label'])){
//redirect
}