PHP会话函数调试辅助

PHP会话函数调试辅助,php,function,session,Php,Function,Session,我知道如何包含外部PHP页面以及如何启动会话等,但我认为我正在处理的内容的逻辑有问题。希望有人能看看 我有一个html页面,这个页面是一个表单,它可以调出一个PHP视图页面,其中包含它发送给它的信息。我想在使用会话的同时将我的函数放在一个外部页面中,但我一直遇到语法错误 当我发送表格时,它会转到以下位置: <?php session_start(); include 'functs.php'; if ($_POST && !empty($_POST['name'])) {

我知道如何包含外部PHP页面以及如何启动会话等,但我认为我正在处理的内容的逻辑有问题。希望有人能看看

我有一个html页面,这个页面是一个表单,它可以调出一个PHP视图页面,其中包含它发送给它的信息。我想在使用会话的同时将我的函数放在一个外部页面中,但我一直遇到语法错误

当我发送表格时,它会转到以下位置:

<?php
session_start();
include 'functs.php'; 
if ($_POST && !empty($_POST['name'])) {
$_SESSION['name'] = $_POST['name'];
$_SESSION['time'] = $_POST['time'];
confirmed();
}
else {
print unconfirmed();
}
?>

我的外部页面包含以下功能:

<?php
function confirmed() {
echo "<head>";
echo "<title>Confirmation Page</title>";
echo '</head>";
echo "<body>";

PRINT <<<HERE

if (isset($_SESSION['name'])) {
echo 'Thank you, '.$_SESSION['name']. ' your reservation is confirmed for ' . $_SESSION['time'] ;
}
else {
echo 'There seems to have been an error processing your reservation. Please ensure that  you have cookies enabled and try your request again' ;
}

HERE;

echo "</body></html>";
?>

主要问题是这一行的引号不匹配:

echo '</head>";
echo';

但是,我不得不说,我对为什么要使用HEREDOC感到困惑。当然,您只需要
if
语句就可以了?

通过突出显示此处错误的语法,这是非常明显的:

echo '</head>";
//-----------^
echo';
//-----------^
这一行的引号不正确,因此您永远不会终止字符串,它会继续运行

编辑


但这不是唯一的问题。你也从来没有用右括号关闭过你的函数:
}

我以前不喜欢使用带有颜色编码的IDE,但是它们非常适合捕捉这样的错误。谢谢大家!!关于herdoc,我在那里有它,因为我正在学习PHP,正在使用不同的格式,并习惯于不同的命令。我太专注于逻辑了,我甚至没有看代码中的引号。哎呀。