Включить функции PHP
У меня есть файл Php для функций включения и страницы CSS. Я пытаюсь сделать функцию включения для генерации большей части моего HTML. Я просто не могу понять, как получить CSS-файл для включения в PHP-функцию включения, которую я сделал.
<?phpe
function HTMLStart( $Title)
{
echo "<!DOCTYPE html>\n";
echo "<html>\n";
echo "<head>\n";
echo " <title>".$Title."</title>\n";
echo " <link href=\ 'IncLab.css' type=\"text/css\" rel=\"Stylesheet\" />\n";
echo "</head>\n";
echo "<body>\n";
}
?>
У меня проблема с echo
линия:
echo " <link href=\ 'IncLab.css' type=\"text/css\" rel=\"Stylesheet\" />\n";
Я пытался использовать двойные кавычки и получал ошибку, поэтому я пытался использовать одинарные кавычки для "IncLab.css и не получал ошибки. Я ранил, если это правильный способ сделать это.
Кроме того, я включил панель навигации в свой файл включения, но как добавить класс (для CSS), чтобы мои ссылки правильно выстроились.
<?php
function PageNagivation()
{
echo "<!-- Nav of the page --> \n";
echo "<nav> \n";
echo '<div class="nav-item float-left"> <a href="IncLabPage1.php">Page 1</a>';
echo '<div class="nav-item end-float"> <a href="IncLabPage2.php">Page 2</a>';
echo "</nav> \n";
}
?>
Панель навигации работает и отображается, но не отображается правильно. Проблема, которую я знаю, заключается в <div class....
часть кода. Как бы я заставить его работать. Благодарю.
5 ответов
Для проблемы с кавычками, да, вполне допустимо использовать одинарные кавычки в этой ситуации, для этого они и предназначены. Вы избежали одного из них, что вам не нужно делать:
echo "<link href='IncLab.css' type='text/css' rel='Stylesheet' />\n";
Для добавления класса вы можете просто ввести его в HTML, например:
echo '<div class="nav-item end-float myclass"> <a href="IncLabPage2.php">Page 2</a>';
Или, если он хранится в переменной:
echo '<div class="nav-item end-float '.$myclass.'"> <a href="IncLabPage2.php">Page 2</a>';
Или же
echo '<div class="nav-item end-float $myclass"> <a href="IncLabPage2.php">Page 2</a>';
Изменить цитаты, как это -
echo " <link href='IncLab.css' type='text/css' rel='Stylesheet' />\n";
Вы должны делать это со всем отображаемым HTML-кодом, чтобы обеспечить чистоту кода и упростить устранение неполадок.
Вместо одного эха для одной строки, почему вы не делаете это?
$sOutput = '<html>
<head>
<link href="IncLab.css" type="text/css" rel="Stylesheet">
<!-- Any HTML you want to echo -->';
echo $sOutput;
Или лучше используйте синтаксис heredoc:
$sOutput = <<<EOT
<html>
<head>
<link href="IncLab.css" type="text/css" rel="Stylesheet">
<!-- Any HTML you want to echo -->
EOT;
Просто одиночная кавычка в начале и в конце, и вы можете даже немного отступить... И вы избавитесь от беспокойства, избегая так много кавычек.
Вы можете избежать подобных проблем, правильно используя "шаблонную" часть языка PHP.
<?php
function HTMLStart( $Title)
{
?>
<!DOCTYPE html>
<html>
<head>
<title><?php echo $Title ?></title>
<link href="IncLab.css" type="text/css" rel="stylesheet"/>
</head>
<body>
<?php
}
?>
Я не рекомендую выводить html с помощью php. Однако в вашем коде вы не можете избежать href=\ '... Просто используйте одинарные кавычки:
echo " <link href='IncLab.css' type='text/css' rel='Stylesheet' />\n";
Что касается навигации, вы не закрываете свои деления. Должно быть так:
echo "<!-- Nav of the page --> \n";
echo "<nav> \n";
echo '<div class="nav-item float-left"> <a href="IncLabPage1.php">Page 1</a></div>';
echo '<div class="nav-item end-float"> <a href="IncLabPage2.php">Page 2</a></div>';
echo "</nav> \n";
Не зная, как вы хотите, чтобы ваша навигация выглядела, и не имея CSS для классов, которые вы вызываете, трудно помочь дальше. Normall, навигация находится в неупорядоченном списке следующим образом:
<ul class="nav">
<li><a href="IncLabPage1.php">Page 1</a></li>
<li><a href="IncLabPage2.php">Page 2</a></li>
</ul>
CSS:
ul.nav {
list-style: none;
}
ul.nav li {
display: inline-block;
}