dポイントプレゼントキャンペーン実施中!

プログラムは、ほぼ全く初心者なのですが、
フリーのメールフォームをダウンロードして、作りかえています。
http://cgis.biz/script_shop_mail/
PHPの書類があって、mail.phpと、conf.phpを一部さわりました。

メールフォームの一番下に、「注意事項」に同意する。という、チェックボックスを作りたくて、
下記のような記述を追加して、チェック項目は作れましたが...


$html .= '<table>'."\n";
if($conf['show_check']) {
$html .= '<tr>'."\n";
$html .= '<th>「注意事項」'.$mark[($conf['need_check'])].'</th>'."\n";
$html .= '<td><input type="checkbox" name="check" value="'.$C['check'].'" >「注意事項」に同意する。'."\n";
$html .= '</td>'."\n";
$html .= '</tr>'."\n";
}
$html .= '</table>'."\n";



エラーメッセージ


if(!$_POST['check']) {
if($conf['show_check'] && $conf['need_check']) {
$err .= '「注意事項」に同意する。にチェックをお願いします。<br>';
}
}



チェックボックスに、チェックしてもチェックしなくても、エラーメッセージが表示されてしまい、
送信できません。
チェックボックスにチェックした場合には、エラーメッセージが表示されないようにするには、
どうしたら良いのでしょうか。

A 回答 (2件)

checkboxのvalueが""になっています。


PHPでは空文字列はboolとして解釈されるときには false になります。

checkboxのvalueに空文字列以外を設定するか、!$_POST['check']の代わりに!isset($_POST['check'])で聞いてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
できました...感激です。。。
魔法みたいで、びっくりしました。
勉強になりました。
わからない事だらけなので、
初心者向けの本から、勉強していこうと思います。
本当に助かりました。ありがとうございます。

お礼日時:2008/07/26 09:52

チェックボックスは、form要素の中に書いてます?



<form action="hoge.php" method="post">
チェックしてね
<input type="checkbox" name="check" value="foo">
<input type="submit" value="押してね">
</form>

みたいに。

この回答への補足

今調べたら、mail.phpに、
$html .= '<form method="post" action="'.$this_pg.'">'."\n";
と記述してありました。

mail.phpのページを表示すると、HTMLは、

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>発注フォーム</title>
</head>

<body>
・(省略)


<form method="post" action="mail.php">
・(省略)


<table>
<tr>
<td>※「ご利用ガイド」の<a href="note.html" target="_blank">「注意事項」</a>をご確認下さい。</td>

</tr>
</table>
</div>
</div>
<br>
<table>
<tr>
<th>「注意事項」<span id="attent">※</span></th>
<td><input type="checkbox" name="check" value="" >「注意事項」に同意する。
</td>
</tr>
</table>
</div>
<br>
<table>

<tr>
<td align="center"><input type="submit" name="confirm" value="確認" id="btn_l"></td>
</tr>
</table>
</form>
・(省略)


</body>
</html>

という風に書き出されているのですが...(長くなり、申し訳ありません)
「注意事項」に同意する。というチェックボックスにチェックしてもしなくても、エラーメッセージになります。
(次にくる確認画面に進めません)
どうしたら良いのかわからず、困っています。
教えて頂けたら幸いです。

補足日時:2008/07/25 18:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!