2012-05-02 3 views
1

チェックされているチェックボックスのみが$ _POSTに入れられています。私は$ _POSTの値が 'true'で、チェックされていないものが 'false'の値を持つようにチェックされたものを望みます。とにかくこれを行うか、POSTリクエストは常にチェックされたチェックボックスについての情報しか含んでいませんか?未チェックのチェックボックスを投稿する方法

私が考えることができるのは、隠しフォームフィールドを使用し、チェックボックスでそれらを操作することだけです。

+0

あなただけそうならば、彼らは他の真である、彼らは '$ _POST'edたかどうかを確認するためにそれを介して、PHP側とループ上のチェックボックスの名前の配列を作成することができ、彼らは偽です。 – Patrick

+0

それは私が避けようとしていたものです:)、XMLファイルから引き出されたたくさんのチェックボックスを持っているので、一度XMLファイルを表示して一度だけ表示したいのであれば、一度だけ結果を比較してください。 – user740521

+0

絶対に大量のXMLファイル、または関数にxmlファイルの解析を入れていない場合は、ファイルを読むのが非常に簡単です – Patrick

答えて

0

チェックボックスの内容のみが含まれます。フォームヘルパーや、変数/配列を好きなようにワイヤリングする入力フィルタを使用してエミュレートする必要があります。

このような機能は、フォームごとに使用するすべてのチェックボックスが必要になりますし、発見し、検出されないいただきました偽のままにしていただきました後、trueに設定することができます。

0

を行いますブラウザ依存。

それは

<?php 
if (isset($_POST['checkbox1'])) 
{ 
    // it's posted 
} 

または!を使用することによって投稿されます場合は、単にチェックすることができます。

<?php 
if (!isset($_POST['checkbox1'])) 
{ 
    // it's NOT posted 
} 
0

それだことは不可能に送信されていないチェックボックスの値のために提出するためにいくつかのJavaScriptを持つことができ、

if(isset($_POST['checkbox'])||$_POST['checkbox']!="yes"){ 
    //other code here 
} 

のか:あなたのphpから、あなたは可能性が

1

あなたは

<input type="checkbox" name="myCheckbox" value="true" /> 
<input type="hidden" name="myCheckbox" value="false" /> 

を使用して、サーバー上の入力を解析することができます。あなたは、ポストデータに設定されていない人は、チェックを外していることをサーバー側では想定できtrue

0

falseまたはtrue falsefalseに旧マップと後者のマップを取得しますどちらか。

$_POST['a_checkbox'] = (isset($_POST['a_checkbox'])) ? 1 : 0; 

使用truefalse、または必要なデータアーゼを:変数が設定されているかどうかを確認するようにしてください。

関連する問題