0

私が理解できないフォームの問題を解決できる人はいますか? 結果のメールに値を表示できないチェックボックスのグループがあります。

これは、変数を設定するために使用している方法です。

    $benefit01  = ($_POST['benefit_01']);
$benefit02  = ($_POST['benefit_02']);
$benefit03  = ($_POST['benefit_03']);
$benefit04  = ($_POST['benefit_04']);
$benefit05  = ($_POST['benefit_05']);
$benefit06  = ($_POST['benefit_06']);

$property   = addslashes($_POST['property']);
$owner      = addslashes($_POST['owner']);
$mainHeating    = addslashes($_POST['Heating_mainHeating_answer']);
$boiler_working = addslashes($_POST['boiler_working']);
$boiler_age = addslashes($_POST['boiler_age']);

$postcode   = addslashes($_POST['postcode']);
$address1   = addslashes($_POST['address1']);
$address2   = addslashes($_POST['address2']);
$address3   = addslashes($_POST['address3']);
$city       = addslashes($_POST['town']);
$county     = addslashes($_POST['county']);

$name       = addslashes($_POST['firstName']);
$surname    = addslashes($_POST['surname']);
$email      = addslashes($_POST['email']);
$phone      = addslashes($_POST['phonenum']);


$type   = addslashes($_POST['type']);
$time   =   $_POST['time'];
$src = $_POST['urlsrc'] ;

$benefits   = $benefit01." ".$benefit02." ".$benefit03." ".$benefit04." ".$benefit05." ".$benefit06;
$address = $address1." ".$address2;
$note = "Benefits: ".$benefits.". Property Type: ".$property.". Home Owner: ".$owner.". Type of Heating: ".$mainHeating.". Boiler Working: ".$boiler_working.". Boiler Age: ".$boiler_age.". Timescales: ".$time.". Address Line 3: ".$address3;

したがって、「利点」はチェックボックスです。私はそれらをすべて同じ名前にして配列を作成し、値を内破させようとしましたが、それもうまくいきませんでした。最終的に、このデータは dbase に送信されるため、ほとんどの情報が $note 変数にダンプされます。

私はこれについてあまり知りません。この例は、(簡略化されていますが) 作業中のフォームから取ったものです。任意の支援をいただければ幸いです。

** フォームの小さなサンプルを以下に追加:

    <input name="ctl00_chkBenefit" type="checkbox" id="benefit_01" class="checkbox-benefit" value="Child Tax Credit" />

児童税額控除 (該当する収入が 15,860 ポンド以下の場合)

     <input name="ctl01_chkBenefit" type="checkbox" id="benefit_02" class="checkbox-benefit" value="State Pension Credit" />

国民年金保険料

4

4 に答える 4

1

初めに、

<input type="checkbox" name="benefits[]" value="one">
<input type="checkbox" name="benefits[]" value="2">
<input type="checkbox" name="benefits[]" value="III">

PHP で配列 $_POST['benefits'] を作成します。

第二に、チェックボックスがチェックされている場合、変数には値のみが含まれます。

于 2013-11-13T12:15:46.383 に答える
1

チェックボックスの HTML は次のようになっていますか?

<input type="checkbox" name="benefit_01" value="Benefit 01" /> Benefit 01

次に、そのチェックボックスがユーザーによってチェックされる場合、$_POST['benefit_01']そのチェックボックスの値 - Benefit 01になります。

チェックし$_POST['benefit_01']ないと設定されません。

編集1:

<form>そして、設定されたメソッドとアクションで、あなたが持っているべきものはすべて:

<form action="index.php" method="post">
     <input name="ctl00_chkBenefit" type="checkbox" id="benefit_01" class="checkbox-benefit" value="Child Tax Credit" />
</form>

編集2:

nameそのチェックボックスには違いがあります。あなたは$_POST彼らidの中で使用しましたが、ではありませんname

コードを次のように変更します。

$benefit01  = ($_POST['ctl00_chkBenefit']);
$benefit02  = ($_POST['ctl01_chkBenefit']);
$benefit03  = ($_POST['ctl02_chkBenefit']);
$benefit04  = ($_POST['ctl03_chkBenefit']);
$benefit05  = ($_POST['ctl04_chkBenefit']);
$benefit06  = ($_POST['ctl05_chkBenefit']);

これで 100% 動作します :)

于 2013-11-13T12:12:55.067 に答える
0

ユーザーがチェックしない場合、入力チェックボックスは $_POST に設定されません。を使用empty()して、それらが設定されているか空であるかを判断し、データベースに挿入する値に値を設定できます。

于 2013-11-13T12:12:10.423 に答える
-1
crate the input field name like this 

<input type="checkbox" name="c[]" value="1">
<input type="checkbox" name="c[]" value="2">
<input type="checkbox" name="c[]" value="3">
<input type="submit" >

そして、PHPは次のよ​​うに書くことができます-

<?php 
$_POST['benefits'] 
?>
于 2013-11-13T12:17:23.103 に答える