2016-08-05 8 views
0

この状況でPHPで条件を作成しようとしています:PHPで条件を作成する方法

ラジオ入力またはチェックボックス入力を選択できます。 選択した内容に関係なく、いずれかを選択した場合は空ではない可能性があります。

$quickpolltype = "radio"; // set to "radio" or "checkbox"; radio is one choice, checkbox is multiple choices 

私は以下のようになりました2つの条件を区切っている:私は実現しないようにしたいものを

if($quickpolltype == "radio" and $_POST['radiovote'] != '') { 
// do something 
} 
if($quickpolltype == "checkbox" and $_POST['checkboxvote'] != '') { 
// do something 
} 

をどんなに場合は、$quickpolltypeにタイプとして何を選ぶかのいずれかの値それらは空ではありません - > do something

どのようにquickpolltypeが選択されても、これらの2つの条件を1つの条件で組み合わせることはできますか?

+0

を使用してください、そして、それをテストしていませんか? 'if(radiovote!= '' && checkboxvote!= '') –

答えて

4

まずまた、あなたが割り当て=ない比較==をやっているここ'AND' vs '&&' as operator

を参照してください||&&を使用することをお勧めします。

だからあなたのような何かしたい:

if($quickpolltype == "radio" && $_POST['radiovote'] != '') { 
    // do something 
} 
if($quickpolltype == "checkbox" && $_POST['checkboxvote'] != '') { 
    // do something 
} 

基本的に、あなたはそれに等しかったかどうかをチェックするというし$quickpolltype"radio"を作っていたし。 "checkbox"と同じです。 1 if

if(($quickpolltype == "radio" && $_POST['radiovote'] != '') 
    || ($quickpolltype == "checkbox" && $_POST['checkboxvote'] != '')){ 
    //Do stuff 
} 
+0

あなたは正しい@nerdlyistです。代入ではなく比較でなければなりません。しかし、どのようにしてこれら2つの条件を1に組み合わせることができますか? –

+0

@JackMaessenは、 'if'ステートメントのいずれかで同じことが起こるべきであると仮定し、編集はそれを行うべきです。 – nerdlyist

+0

これは私が必要とするものです!解決策ありがとう –

3

にそのすべてを作るために

「何かをする」と同じであることを行っている場合、あなたは確かに二つの条件を組み合わせることができます。そうでない場合は、別々に保管してください。

if(($quickpolltype=="radio" && $_POST['radiovote'] != '') || ($quickpolltype="checkbox" && $_POST['checkboxvote'] != '')) { 
    //do something 
} 

PHPで物事を比較するときは、必ず "=="を使用してください。さらに、 "& &"と "||"の代わりに "and"と "or"を使用すると、carefulになることがあります。 PHPで。

0

何も選択しないとname="radiovote"$_POST['radiovote']で使用できないので、isset()の力が必要なので、ラジオボタンとチェックボックスはトリッキーな獣です。値が関係ない場合にも、適切な&&または||オペレータ

if(
    in_array($quickpolltype, array("radio","checkbox")) && 
    (
     (isset($_POST['radiovote']) && $_POST['radiovote'] != '') || 
     (isset($_POST['checkboxvote']) && $_POST['checkboxvote'] != '') 
    ) 
) 
{ 
    // Do something 
} 
+0

これは、質問が尋ねたことと意味的に異なります。 '$ _POST ['checkboxvote']!= '''であれば、 '$ quickPolltype ==" radio "'が '$ _POST ['radiovote'] == '''であっても '何か'を行います。 – Julian

関連する問題