php 送信されたフォームについて
送信されたフォームの受け取る側のソースを書いたのですが、
<?php
$i = 0;
if(print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')) == 'a')
$i++;
if(print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')) == 'a')
$i++;
if(print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')) == 'a')
$i++;
if(print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')) == 'a')
$i++;
print('正解数'.$i./4'です');
?>
を付け加えるとエラーが表示されます。エラーの対象になっているのは
print('正解数'.$i./4'です');らしいのですが、なぜエラーになるのかわかりません
回答お願いします。
以下ソースです。
<html>
<head>
<title>解答</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type=""text/css"">
#container{
width:1000
}
#main{
width:500px;
float:right;
}
#sidebar{
width:500px;
float:left;
}
</style>
</head>
<body>
<div id="container">
<div id="main">
<p>問題の解答</p>
<p>問1</p>
<p>(1)(2)(3)(4)</p>
<p>問2</p>
<p>(1)(2)(3)(4)</p>
<p>問2</p>
<p>(1)(2)(3)(4)</p>
</div>
<div id="sidebar">
<p><>あなたの解答<></p>
<p>問1</p>
<p>(1)<?php print(htmlspecialchars($_POST['kaitouran11'], ENT_QUOTES, 'UTF-8')); ?>
(2)<?php print(htmlspecialchars($_POST['kaitouran12'], ENT_QUOTES, 'UTF-8')); ?>
(3)<?php print(htmlspecialchars($_POST['kaitouran13'], ENT_QUOTES, 'UTF-8')); ?>
(4)<?php print(htmlspecialchars($_POST['kaitouran14'], ENT_QUOTES, 'UTF-8')); ?>
</p>
<p>問2</p>
<p>(1)<?php print(htmlspecialchars($_POST['kaitouran21'], ENT_QUOTES, 'UTF-8')); ?>
(2)<?php print(htmlspecialchars($_POST['kaitouran22'], ENT_QUOTES, 'UTF-8')); ?>
(3)<?php print(htmlspecialchars($_POST['kaitouran23'], ENT_QUOTES, 'UTF-8')); ?>
(4)<?php print(htmlspecialchars($_POST['kaitouran24'], ENT_QUOTES, 'UTF-8')); ?>
</p>
<p>問3</p>
<p>(1)<?php print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')); ?>
(2)<?php print(htmlspecialchars($_POST['kaitouran32'], ENT_QUOTES, 'UTF-8')); ?>
(3)<?php print(htmlspecialchars($_POST['kaitouran33'], ENT_QUOTES, 'UTF-8')); ?>
(4)<?php print(htmlspecialchars($_POST['kaitouran34'], ENT_QUOTES, 'UTF-8')); ?>
</p>
</div>
</div>
<?php
$i = 0;
if(print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')) == 'a')
$i++;
if(print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')) == 'a')
$i++;
if(print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')) == 'a')
$i++;
if(print(htmlspecialchars($_POST['kaitouran31'], ENT_QUOTES, 'UTF-8')) == 'a')
$i++;
print('正解数'.$i./4'です');
?>
</body>
</html>
補足
お返事ありがとうございます。 エラーの意味すらわからなかったもので非常に助かりました。 var_dump($array);として試してみたところ正常に値を取得できました。 array(5) { ["name"]=> string(6) "名前" ["email"]=> string(7) "mail@ad" ["title"]=> string(12) "タイトル" ["msg"]=> string(15) "メッセージ" ["mode"]=> string(7) "confirm" } メールフォームから送信するプログラムで流れとして 入力→確認→送信完了という形なので確認する箇所に記述しましたが 知識不足で自信がないものでおかしい箇所などがありましたら 教えて頂けますと幸いです。 ---forms.php--- require_once "tpl.php"; // データ取得 $mode = $_POST["mode"]; switch ($mode) { // メール送信 case "send": send(); break; // データ処理と確認 case "confirm": if (!$_POST["submit"]) { //POSTデータを全て受け取りエスケープして変数に入れる foreach($_POST as $k => $v) { if(get_magic_quotes_gpc()) { $v=stripslashes($v); } $v=htmlspecialchars($v); $array[$k]=$v; } extract($array); } confirm(); break; // 入力フォーム表示 default: input(); break; } ---tpl.php--- // フォーム表示 function input() { echo <<<EOM <form method="post" action="forms.php"> <table border="1"> <tr> <td>お名前</td> <td><input type="text" name="name" size="20"></td> </tr> <tr> <td>メールアドレス</td> <td><input type="text" name="email" size="20"></td> </tr> <tr> <td>タイトル</td> <td><input type="text" name="title" size="20"></td> </tr> <tr> <td>メッセージ</td> <td><textarea name="msg" rows="5" cols="40"></textarea></td> </tr> <tr> <td colspan="2"><input type="submit" value="内容を確認"></td> </tr> </table> <input type="hidden" name="mode" id="mode" value="confirm" /> </form> EOM; exit(); } // 確認画面表示 function confirm() { $aa = nl2br($_POST['msg']); echo <<<EOM <p>{$_POST["name"]} 様</p> 下記の内容で送信致します。送信内容を確認後送信ボタンを押してください。 <form method="post" action="forms.php"> <table border="1"> <tr> <td>お名前</td> <td>{$_POST["name"]}</td> </tr> <tr> <td>メールアドレス</td> <td>{$_POST['email']}</td> </tr> <tr> <td>タイトル</td> <td>{$_POST['title']}</td> </tr> <tr> <td>メッセージ</td> <td>$aa</td> </tr> <tr> <td colspan="2"><input type="submit" value="送 信" /> <input type="button" value="戻 る" onclick="history.back()" /></td> </tr> </table> <input type="hidden" name="mode" id="mode" value="send" /> </form> EOM; exit(); } // 送信完了画面表示 function send() { echo <<<EOM <p>{$_POST["name"]} 様</p> <p>お問い合わせありがとうございました。</p> EOM; exit(); } 勉強中の段階ですのでまだまだ完成品には程遠く入力チェックなどの エラー処理など課題は山積みです・・・^^;