我正在尝试动态填充网站上的标题标记。我在index.php页面中有以下代码
<?php $title = 'myTitle'; include("header.php"); ?>
以下是我的标题页
<title><?php if (isset($title)) {echo $title;}
else {echo "My Website";} ?></title>
但无论我做什么,我都无法使用此代码。有没有人有什么建议?
感谢
答案 0 :(得分:9)
这可行(测试它 - 创建一个新文件夹,将第一行代码放在名为index.php的文件中,第二行放在header.php中,运行它,检查标题栏)。
你应该仔细检查这两个文件是否在同一个文件夹中,并且你要包含正确的header.php 来自正确的index.php。并确保$ title未在代码中的某个位置设置回null
。
详细了解可变范围here。
编辑:可见更改的示例如下:
TEST1<?php $title = 'myTitle'; include("header.php"); ?>
<title>TEST2<?php if ...
答案 1 :(得分:3)
您是否在设置title变量之前或之后包含头文件?如果您之前包含它,那么它当然不会被设置。
如果你在index.php中做了类似的事情:
<?php
include('header.php');
$title = "blah blah blah";
?>
然后它将无效 - 您包含头文件并在设置$ title变量之前输出标题文本。
答案 2 :(得分:1)
尝试在使用之前声明变量
$title = '123';
require 'includes/header.php';
答案 3 :(得分:0)
您的代码似乎很好。你确定php实际上正在解析你的页面吗?您是否收到任何错误,警告或通知?
答案 4 :(得分:0)
您的代码似乎运行正常。是否可以在包含标题后设置标题变量?此外,其他PHP脚本是否在该站点上正常工作?
答案 5 :(得分:0)
嗨,试试这个老派的方法..
在你的Header文件中(例如header.php)
<?php
error_reporting(E_ALL);
echo '<!DOCTYPE html>
<!--[if IE 7 ]><html class="ie7" lang="en"><![endif]-->
<!--[if IE 8 ]><html class="ie8" lang="en"><![endif]-->
<!--[if IE 9 ]><html class="ie9" lang="en"><![endif]-->
<!--[if (gte IE 10)|!(IE)]><!-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<!--<![endif]-->
<head>';
?>
<?php
if($GLOBALS['title']) {
$title = $GLOBALS['title'];
} else {
$GLOBALS['title'] = "Welcome to My Website";
}
if($GLOBALS['desc']) {
$desc = $GLOBALS['desc'];
} else {
$desc = "This is a default description of my website";
}
if($GLOBALS['keywords']) {
$keywords = $GLOBALS['keywords'];
} else {
$keywords = "my, site, key, words";
}
echo "\r\n";
echo "<title> ". $title ." | MyWebsite.com </title>";
echo "\r\n";
echo "<meta name=\"description\" content='". $GLOBALS['title']."'>";
echo "\r\n";
echo "<meta name=\"keywords\" content='".$GLOBALS['title']."'>";
echo "\r\n";
?>
在你的PHP页面文件中这样做(例如about.php)
<?php
$GLOBALS['title'] = 'About MyWebsite -This is a Full SEO Title';
$GLOBALS['desc'] = 'This is a description';
$GLOBALS['keywords'] ='keyword, keywords, keys';
include("header.php");
?>
答案 6 :(得分:0)
我假设您的标头存储在不同的文件中(可能位于根目录之外),因此上述所有解决方案都不适用于您,因为$title
在定义之前已设置。
这是我的解决方案:
在header.php
文件中,您需要将$title
设置为全局:global $title;
然后在标题中回显:{/ p>
<?php global $title; ?>
<title><?php echo isset($title) ? $title : "{YOUR SITE NAME}"; ?></title>
然后在每个页面中,您现在可以在包含头文件后定义标题,例如在index.php
文件中:
include_once("header.php");
$title = "Your title for better SEO"
经过测试,它正在运行。
答案 7 :(得分:0)
我们还可以使用函数及其在实时网站上工作的好方法。
简单:
创建一个index.php文件并粘贴这些行:
<?php include("title.php");?>
<!doctype html>
<html>
<head>
<title><?php index_Title(); ?></title>
<head>
</html>
- 然后
创建title.php文件并粘贴以下行:
<?php
function index_Title(){
$title = '.:: itsmeShubham ::.';
if (isset($title)){
echo $title;
}else{
echo "My Website";
};
}
?>
它可以完美地工作,我们也可以通过只触摸一个title.php文件来更新任何标题。
答案 8 :(得分:0)
<?php
echo basename(pathinfo($_SERVER['PHP_SELF'])['basename'],".php");
?>
这有效。由于我使用的是PHP,因此我不检查其他扩展名。如果需要,请使用pathinfo['extension']
。
答案 9 :(得分:0)
您可以使用mSpinner.setOnTouchListener((view, motionEvent) -> {
getWindow().setFlags(FLAG_LAYOUT_NO_LIMITS, FLAG_LAYOUT_NO_LIMITS);
return false;
});
函数来实现。
在您的define();
文件中,添加以下行:
header.php
在要设置动态标题的页面上,添加以下行:
EX:我的页面名称是<title><?php echo TITLE; ?></title>
,我要在其中设置动态标题
所以我将在页面上添加这些行。
user-profile.php
因此我的<?php
define('TITLE','User Profile'); //variable which is used in header.php
include('header.php');
include('dbConnection.php');
?>
文件将具有标题:用户个人资料
这样,您可以在网站的任何页面上添加标题