提问人:Elisos 提问时间:10/23/2023 最后编辑:Elisos 更新时间:10/23/2023 访问量:36
关于PHP模板和控制器文件的问题
Question about PHP template and controller files
问:
首先,我提前为这个问题道歉。我正处于PHP和SQL学习的最初阶段,感到无可救药地陷入困境。我必须创建以下内容:
- 一个简单的网站,包括登陆页面、图库页面和联系页面
- 所有标头都应共享一个通用的刊头页眉和页脚
- 每个页面都需要有一个 PHP 控制器文件;标题、标题等数据需要在变量中设置。
- 对于每种类型的页面,都应该有一个用于 HTML 输出的主模板,而这些模板又将包含较小的页面部分。(对于此练习,所有数据都可以被认为是安全的,因此无需过滤和转义)
到目前为止,我所做的是: index.php文件包含:
**
<?php
$page = isset($_GET['page']) ? $_GET['page'] : 'home';
switch ($page) {
case 'gallery':
include 'galleryController.php';
break;
case 'form':
include 'formController.php';
break;
default:
include 'homeController.php';
break;
}
?>
<?php include 'template.php'; ?>**
然后模板.php文件包含:
**
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/style.css" rel="stylesheet" type="text/css">
<title><?php echo $title; ?></title>
</head>
<body>
<!--header section-->
<?php include 'header.php'; ?>
<!--content section-->
<?php include $content; ?>
<!--footer section-->
<?php include 'footer.php'; ?>
</body>
</html>**
例如页脚:
**
<!--footer section-->
<footer class="footer">
<div class="social-icon">
<a href="https://www.facebook.com"><img src="Icons/facebook.png" alt="Studio Apartment Facebook account"></a>
<a href="https://www.instagram.com"><img src="Icons/instagram.png" alt="Studio Apartment Instagram account"></a>
</div>
<section class="newsletter-signup">
<h3>Sign up for newsletter!</h3>
<form class="newsletter-form" action="form.php" method="POST" id="theForm" autocomplete="on">
<input type="text" placeholder="Enter your email" name="email" id="email" required>
<button type="submit" value="Send" id="submit">Sign up</button>
</form>
</section>
</footer>**
虽然我上面所做的工作有效并且我通过了这项任务,但它在技术上仍然是错误的,我想修复它(更重要的是了解问题所在)以便继续前进。我得到的反馈是,我需要将模板文件中的页脚设置为变量,并且模板文件应该是 php,变量中带有 html(例如 $head“ 和 ”$title“)。我正在观看多个教程,并了解到要在模板文件中设置变量,我会写如下内容:
<footer><?php echo htmlspecialchars($footerVariable, ENT_QUOTES, 'UTF-8'); ?></footer>
然后在控制器文件中设置 footerVariable? 但是,在变量中没有 html 的 php 模板。此外,我对如何在变量中设置整个页脚部分感到非常困惑。 无论如何,正如你所看到的,我让自己对这一切感到非常困惑。请帮忙。:)
答: 暂无答案
评论
$title
index.php
include $content;
echo
index.php