phpのエラーについて
phpでメールフォームを作っています。
メールフォーム(1)、(2)、(3)と3つ作っています。
(2)で確認して記入内容に間違いがなれけば送信して(3)を表示。
間違っていたら(1)に戻るというものです。
確認するページ(2)の記述でParse error: syntax error, unexpected T_STRING in……とエラーが出ます。
その問題の行は、セッションを開始したすぐ下の行の
die('不正アクセスの疑いがあります。');
という部分です。
この行と、それより以前・以後を何度も確認しましたがエラーの原因となるものが発見できません……
PHP初心者なのでもうお手上げです><
どなたかご教授よろしくお願いします!!!
レンタルサーバーはヘテムルでphpは5.2.8です。
<?php
function checkInput($var){
if(is_array($var)){
return array_map('checkInput', $var);
} else {
if(get_magic_quotes_gpc()){
$var = stripslashes($var);
}
if(preg_match('/\0/', $var)){
die('不正な入力です。');
}
if(!mb_check_encoding($var, 'UTF-8')){
die('不正な入力です。');
}
return $var;
}
}
session_start();
$_POST = checkInput($_POST);
if(isset($_POST['ticket']) && isset($_SESSION['ticket'])){
$ticket = $_POST['ticket'];
if(!in_array($ticket, $_SESSION['ticket'])){
die('不正アクセスの疑いがあります。'); //この行がエラーとなります。
}
}else{
die('不正アクセスの疑いがあります。');
}
$name = isset($_POST['name']) ? $_POST['name'] : NULL ;
$email = isset($_POST['email']) ? $_POST['email'] : NULL ;
$name = isset($_POST['comment']) ? $_POST['comment'] : NULL ;
$error = array();
if(trim($name) == ''){
$error[] = 'お名前は必須項目です。';
} else if(mb_strlen($name) > 100){
$error[] = 'お名前は100文字以内でお願いします。';
}
if(trim($email) == ''){
$error[] = 'メールアドレスは必須項目です。';
} else {
$pattern = '/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/iD';
if(!preg_match($pattern, $email)){
$error[] = 'メールアドレスの形式が正しくありません';
}
}
if(trim($comment) == ''){
$error[] = 'コメントは必須項目です。';
} else if(mb_strlen($comment) > 500){
$error[] = 'コメントは500文字以内でお願いします。';
}
$_SESSION['name'] = $name;
$_SESSION['email'] = $email;
$_SESSION['comment'] = $comment;
$_SESSION['error'] = $error;
if(count($error) > 0) {
$dirname = dirname($_SERVER['SCRIPT_NAME']);
$dirname = dirname == DIRECTORY_SEPARATOR ? '' : $dirname;
$uri = 'http://' .$_SERVER['SERVER_NAME'] .
$dirname . '/○○.php';
header('HTTP/1.1 303 See Other');
header('Location: ' . $uri);
} else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>確認フォーム</title>
</head>
<body>
<div id="form">
<p>以下の内容でよろしければ送信ボタンを押してください。</p>
<dl>
<dt>お名前:</dt>
<dd><?php echo h($name);?></dd>
</dl>
<dl>
<dt>メールアドレス:</dt>
<dd><?php echo h($email);?></dd>
</dl>
<dl>
<dt>コメント:</dt>
<dd><?php echo nl2br(h($comment));?></dd>
</dl>
<form action="thank.php" method="post">
<input type="hidden" name="ticket" value="<?php echo h($ticket);?>" />
<input type="submit" name="submit" value="送信する" />
</form>
</div>
</body>
</html>
<?php
}
function h($string) {
return htmlspecialchars($string, ENT_QUOTES);
}
?>