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>
お礼
agunuzさま いつもご回答ありがとうございます。 補足もご確認いただければ幸いです。
補足
〉ソースをsjisで保存していると、htmlspecialcharsで指定している文字セットが違うので「何も返らない」ことにはなりますが ファイルの文字コードを確認すると、 sjisでした。それをutf-8に変えると、、 <b>てすと</b>を表示できました。 ただし、eclipseの環境でテキストファイルの文字コード http://www.javadrive.jp/eclipse3/setup/index1.html に従って、文字コードをutf-8に変えて実行すると 文字化けしました。これはこんなものなのでしょうか? またeclipseの環境でデフォルトの状態では、 何も表示されませんでした。 >明らかにエラーになる記述をしてみてちゃんとエラーが表示されるか確認してください(もちろんphpinfo()で設定を確認してもいいです)。 他のPHPファイルで試したところ、エラー表示はされます。 ただphpinfo()で設定を確認する方法というのは、 よくわかりません。