1

ページの HTML タイトルを PHP から動的に設定しようとしています。データベースのエントリに基づいてタイトル要素を設定するページがあります。現在のページの H2 コンテンツに基づいてタイトルを動的に変更しようとしています。このコンテンツは、再びデータベースから取得されます。

セッション変数を使用してこれを実行しようとしましたが、明らかにロード順序が原因で、ヘッダーがロードされてからコンテンツがロードされるため、これは機能しません。ページを更新すると、タイトルは正しく設定されますが、これは良くありません。

現在、JavaScript を使用してタイトルを更新していますが、これも JS が有効になっていない検索エンジン ボットには適していません。

PHP

session_start(); <--both header and dynamic page -->

<title><?php echo $_SESSION['dynamictitle'];?></title> <-- Header -->

$jobTitle = $rs2row['fldRoleTitle']; <-- dynamic page -->

$_SESSION['dynamictitle'] = $jobTitle;

JavaScript

var currentTitle = "<?php Print($jobTitle) ?>" + " | " + document.title;
document.title = currentTitle;
4

3 に答える 3

1

あなたは次のことができます

追加

<?php 
ob_start();  
?>

ヘッダーの前のドキュメントの最初の行。

次に、タイトルを次のように入力します:{title_holder}

次に、コードでタイトルの準備ができたら、次の手順を実行します。

<?php
// Catch all the output that has been buffered 
$output = ob_get_contents();
// clean the buffer to avoid duplicates
ob_clean();
// replace the title with the generated title
$output = str_replace('{title_holder}', 'Your title here',$output);
// put the html back in buffer
echo $output

?>
// Then continue your code
于 2013-01-03T11:20:11.507 に答える