@jackytom

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PHPでシンタックスエラー

Q&A

Closed

PHPでシンタックスエラーが出て処理できません。
エラー内容から、header関数の行でエラーになっています。
header関数の場合、前後でHTML等の何らかの指定を行っていたり、改行や空白を指定したり
するとエラーになるようですが、それらが見受けられませんでした。
試しに{の直後でheader関数を置いてみましましたが、結果は同じでした。
エラー原因の究明にご協力いただければ幸いです。
ソースコードを添付します。

発生している問題・エラー

Parse error: syntax error, unexpected token ";" in C:\xampp\htdocs\Portfolio\faq_create_commit.php on line 62

62行目は
header('Location: faq_create_end.php', true, 303);
です。

該当するソースコード

<?php
	session_start();
		if (isset($_POST['token']) && isset($_SESSION['token'])) {
			$token = $_POST['token'];
			}
			else if ($token != $_SESSION['token']) { 
				header("Location: faq_create.php");
				echo ('アクセスが中断されました。');
				exit();
				}
					else {
						header("Location: faq_creeate.php");
						echo ('不正なアクセスです');
						exit();
						}

	session_destroy();

	function escape($val)
	{
		return htmlspecialchars($val, ENT_QUOTES | ENT_HTML5, 'UTF-8');
	}
	try{
		require_once("db_connect.php");
		}
	catch(PDOException $e){echo "次がエラーの内容です。;" .$e->getMessage();
		}
?>
<!doctype html>
<html lang=ja>
	<head>
		<meta charset="utf-8">
		<title>Faqメンテナンス</title>
		<meta name="description" content="ヘッドセラピーを中心としたセラピーのサービスを提供しております。">
		<!--リセットcss-->
		<link rel="stylesheet" href="https://unpkg.com/ress/dist/ress.min.css">
		<!--css-->
		<link href="css/contact_style.css" rel="stylesheet">
		<!--レスポンシブ対応-->
		<meta name="viwport" content="width=device-width, initial-scale=1">
		<!--Googleフォント-->
		<link href="https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap" rel="stylesheet">
		<link href="https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@500&display=swap" rel="stylesheet">
	</head>
	<body>
		<main>
			<h1>Faqメンテナンス</h1>
		<?php
			$sql=$pdo->prepare('inset into faq(faq_id,contact_id,question,anser,status,prc_date) values(null,?,?,?,1,null)');
			if($_SERVER['REQUEST_METHOD'] === 'POST'){
				if(escape($_POST['contact_div']) === "1"){
					echo '問い合わせ区分を選択してください。';
					}
					else if(empty(escape($_POST['qustion'])) || empty(escape($_POST['anser']))){
						echo '未入力の項目があります';
						}
						else($sql->execute([
							escape($_POST['contact_div']),
							escape($_POST['question']),
							escape($_POST['anser'])]))
							{
							header('Location: faq_create_end.php', true, 303);
							exit();
							}
							else{
								echo '登録に失敗しました。';
								}
		}?>
	</body>
</html>

0 likes

1Answer

Comments

  1. @jackytom

    Questioner

    ご指摘の通りでした。
    おかげさまで解決しました。
    ありがとうございました。

Your answer might help someone💌