異なる名前の送信ボタンが2つある場合、php isset送信フォームコードに「OR」演算子を追加することはできますか?例えば:
if (!isset($_POST['submitRequest'] || $_POST['submit']))
上記のコードはプロンプトとエラーを表示します。ご意見をお聞かせください。
異なる名前の送信ボタンが2つある場合、php isset送信フォームコードに「OR」演算子を追加することはできますか?例えば:
if (!isset($_POST['submitRequest'] || $_POST['submit']))
上記のコードはプロンプトとエラーを表示します。ご意見をお聞かせください。
試す:
if(isset($_POST['submitRequest']) || isset($_POST['submit'])){
//do something
}
いいえ、できません。独自のisset関数に各変数が必要です。それらを組み合わせることはできません。
isset()
複数の変数で使用できます。
if(isset($_POST['submitRequest']) || isset($_POST['submit'])) {
// One of them was pushed
}
に複数の引数を渡すときは注意してくださいisset()
。マニュアル文書として:
複数のパラメーターが指定されている場合、isset()は、すべてのパラメーターが設定されている場合にのみTRUEを返します。評価は左から右に進み、未設定の変数が検出されるとすぐに停止します。
したがってisset($_POST['submitRequest'], $_POST['submit'])
、と同等になりisset($_POST['submitRequest']) && isset($_POST['submit'])
ます。ただし、その2番目の文は、チェックする場合に役立ちます!isset($_POST['submitRequest']) || !isset($_POST['submit'])
。複数の引数を渡すisset()
と、最初の未設定の引数に対してfalseが返されるため、を使用できます!isset($_POST['submitRequest'], $_POST['submit'])
。
私は元の投稿を誤解していたことを知っています。
if(isset($_POST['submitRequest'])||isset($_POST['submit'])){
// you can do something here
}
オリジナル(不正解)
あなたはこれを使うことができます:
if(!isset($_POST['submitRequest'], $_POST['submit'])){
die("Fail");
}
複数のパラメーターが指定されている場合、関数はそれらすべてをチェックします。これは、すべてのパラメーターが設定されている場合にのみTRUEを返します。
参照: http: //php.net/manual/en/function.isset.php
それはor演算子の使い方ではありません。2つのisset呼び出しの間に配置する必要があります。
if ( ! isset($_POST['submitRequest']) || isset($_POST['submit']) ) { }
常に構文をよく見る必要があります。or演算子は、左の条件または右の条件が真である場合に、条件全体を真と評価するために使用されることに注意してください。そのため、常に2つの条件でor演算子を使用する必要があります。
また、and演算子を使用してこれを実行する場合は、1回のisset呼び出しを使用できます。
if ( isset($_POST['username'], $_POST['password']) ) { }
それぞれの変数でisset関数を個別に呼び出す必要があります。従う規則に応じて、2つの構文のいずれかを使用するオプションがあります。
if(isset($_POST['submitRequest']) || isset($_POST['submit'])){
//do something
}
if(isset($_POST['submitRequest']) OR isset($_POST['submit'])){
//do something
}
少し詳しく説明します。
isset()
、empty()
および他のいくつかは関数ではなく、言語構造です。そのため、機能のように見えるため、期待どおりに機能するわけではありません。
ここで重要なのは、変数をチェックするだけで、式の結果を評価できない、または評価しないということです。の使用は式を||
作り$_POST['submitRequest'] || $_POST['submit']
ます。結果は一時的に計算されるだけで、設定または空にできる定義済み変数には格納されません。