1

ページにフォームがあります。チェックボックスやテキストフィールド、ドロップダウンなどが多すぎます。しかし、チェックボックスの1つを選択しないと、フォームをキャッチしたPHPページにエラーが表示されます。

例:

HTMLコード:

Checkbox 1<input type="checkbox" name="check1" value="on" />
Checkbox 2<input type="checkbox" name="check2" value="on" />

PHPコード:

$check1 = $_GET['check1'];
$check2 = $_GET['check2'];

両方のアイテムが選択され、URLで送信された場合は正常に機能します。

localhost/project/checkbox.php?check1=on&check2=on

しかし、そのうちの1つを選択解除すると、check2とすると、URLは次のようになります。

localhost/project/checkbox.php?check1=on

$check2が未定義のインデックスであるというエラーが表示されます。

ただし、チェックボックスが選択されていない場合にエラーが表示されないようにします。ifまた、URLで取得しているかどうかを確認するステートメントを試しましたが、機能しませんでした。

データがURLで渡されているかどうかを最初に確認する方法はありますか?エラーが出ないので。正しい結果が得られ、php.iniでエラー報告をオフにできることはわかっているので、実際にはエラーは主なものではありませんが、それは私がやりたいことではありません。最初にデータが入ってくるかどうかをチェックしたいですか?

ありがとう...

4

2 に答える 2

2

if (isset($_GET['check2']) && !empty($_GET['check2'])check2 GETパラメータが存在し、空でないかどうかをチェックします。

于 2011-03-21T18:23:56.337 に答える
0

チェックボックスの値は、チェックされている場合にのみ登録されます。したがって、次のようなチェックを簡単に行うことができます。

$check1 = isset($_GET['check1']);
$check2 = isset($_GET['check2']);

$check1$check2ブール値になります:

echo "Checkbox 1 one is " . ($check1 ? "checked" : "not checked") . PHP_EOL;
echo "Checkbox 2 one is " . ($check2 ? "checked" : "not checked") . PHP_EOL;
于 2011-03-21T18:27:36.833 に答える