true
適切なブール値またはfalse
クエリ文字列を送信できないため、両方とも True と評価されています。PHP では、文字列 と の両方が"true"
TRUE と"false"
評価されます。次のいずれかを行います。
if ($var == "true" && $bar == "true") {
または、データ ソースの代わりに、および0
データソースから送信します (ここで .htaccess がどのように適合するかについては完全にはわかりません。フォーム フィールドから変数をマッサージしていると想定していますが、最終的には無関係です。)1
"true"
"false"
詳細については、この信じられないほど膨大な数の PHP の真理値の表を確認してください。PHP の型強制 - つまり、任意の変数を他の型の変数に変換する方法 - は予測が難しく、独自のロジックで動作します。
とはいえ、質問のクエリ文字列部分は本質的に PHP の問題ではありません。GET
またはPOST
パラメーターを介してブール値を通信する標準的な方法はありません。見てみると、すべてのサイトが独自の方法で処理していることに気付くでしょ"true"
う。1
TRUE
最終的な代替手段が 1 つあります。JSON です。あなたのケースでは役に立たないかもしれませんが、サーバーとデータを交換するための私の好みの方法は、すべてのデータを JSON の単一の文字列にエンコードすることです。これには、JSON オブジェクトにカプセル化された変数の型をきめ細かく制御できるなど、いくつかの利点がありますが、通常の HTML フォームでは実行できないという欠点があります。ただし、AJAX-ey Web アプリを実行している場合は素晴らしいことです。