0

テニス トーナメントのサインアップ フォームに関連して、少しトリッキーなフォーム検証 (この例ではチェックボックス) を入れようとしています。

<?php 
if ( ( isset($_POST['ms'])&&isset($_POST['ws']) )
        || (isset($_POST['mc'])&&isset($_POST['ws']))
        || (isset($_POST['md'])&&isset($_POST['ws']))
        || (isset($_POST['ms'])&&isset($_POST['wc']))
        || (isset($_POST['ms'])&&isset($_POST['wd']))
        || (isset($_POST['mc'])&&isset($_POST['wc']))
        || (isset($_POST['mc'])&&isset($_POST['wd']))
        || (isset($_POST['md'])&&isset($_POST['wd']))
    ){
      $error_message .=('You can only play as one sex! <br />');
  }


if ( (isset($_POST['mc'])&&isset($_POST['md']) ) { //***
  $error_message .=('You cannot play in both the cadet tournament and mens doubles <br />');
  }

ただし、これにより、3 つのアスタリスクを含む行の解析エラーが発生します。

予期しない「{」

おそらく、中かっこではなく丸かっこを使用して、何か間違ったことをしたと思われます...しかし、どこにあるのかわかりません..

4

3 に答える 3

4

if2番目のステートメントに閉じ括弧がありません。次を使用してください。

if ((isset($_POST['mc']) && isset($_POST['md']))) 

将来的には、複雑なステートメントの開始括弧と終了括弧を数えて、バランスが取れていることを確認することをお勧めします。

于 2012-12-29T14:36:12.597 に答える
0

(削除する必要がある場合は、2 番目の最初の

if( isset($_POST['mc']) && isset($_POST['md']) ){ //***
    $error_message .=('You cannot play in both the cadet tournament and mens doubles <br />');
}
于 2012-12-29T15:19:33.003 に答える
0
<?php 
if((isset($_POST['ms']) && isset($_POST['ws']))
        || (isset($_POST['mc'])&&isset($_POST['ws']))
        || (isset($_POST['md'])&&isset($_POST['ws']))
        || (isset($_POST['ms'])&&isset($_POST['wc']))
        || (isset($_POST['ms'])&&isset($_POST['wd']))
        || (isset($_POST['mc'])&&isset($_POST['wc']))
        || (isset($_POST['mc'])&&isset($_POST['wd']))
        || (isset($_POST['md'])&&isset($_POST['wd']))
    )){

      $error_message .=('You can only play as one sex! <br />');
  }


if((isset($_POST['mc']) && isset($_POST['md'])){ //***

    $error_message .=('You cannot play in both the cadet tournament and mens doubles <br />');
  }
于 2012-12-29T14:52:30.740 に答える