2017-08-03 1 views
0

Selon la structure du modèle de page unique, il n'y a qu'un seul fichier index.php qui incorpore des pages utilisant la fonction PHP include_once() dans la balise body par rapport à la chaîne de requête $_GET['page']Comment définir des titres dynamiques dans un modèle de page intégrant différentes pages à l'intérieur de la balise body - PHP

<?php $page = $_GET['page']; ?> 
<html> 
    <head> 
     <title> 
     <!-- title needs to update according to page here --> 
     </title> 
    </head> 
    <body> 
     <?php require_once MC_ROOT.'/pages/'.$page.'.php'; // page content goes here like: <div> [CONTENT], <h1> [PRODUCT TITLE] </h1> </div> etc... ?> 
    </body> 
</html> 

Comment puis-je définir des titres dynamiques à l'intérieur <title></title> balises qui vient avant pour chaque page? Les pages sont censées être home, product, contact, about, etc. Veuillez suggérer les meilleures pratiques. Merci

+0

Ajouter paramètre pour obtenir? – hardworker

+0

en fait, les urls sont comme: '/index.php? Page = home' ou' index.php? Page = product' ou '/index.php? Page = about'. chaque page est incorporée dans les balises body du fichier 'index.php' qui obtient la valeur de la chaîne de requête. semble simple mais je suppose que la structure n'est pas bonne. – RanaHaroon

+0

Pouvez-vous ajouter un paramètre comme /index.php?page=home&title=test? Ensuite, vous pourriez simplement obtenir le titre «dynamique» pour votre page. Ou vous pouvez le faire en javascript, en plaçant une balise html cachée dans votre page, puis en modifiant le titre avec le contenu html tag caché – hardworker

Répondre

1

vous pouvez utiliser pars_url (Cette fonction parse une URL)

pour examen si vous adresse comme ceci

$url = "http://www.ibm.com/product?id=1"; 
echo parse_url($url, PHP_URL_PATH); 
////echo product ///// 

OU

$url = 'http://www.ibm.com/product/il.php?id=value'; 
$var = parse_url($url, PHP_URL_PATH); 
$var = explode('/', $url); 
echo $var[3]; 
///echo product//// 

OU

$url = 'http://www.ibm.com/aboutUs.php'; 
$var = parse_url($url, PHP_URL_PATH); 
$var = explode('/', $url); 
$var = str_replace(".php","",$var[3]); 
echo $var; 
///echo aboutUs//// 
+0

Merci pour votre aide, mais fichier 'product.php' _ (qui est incorporé dans l'index Le fichier .php à l'intérieur du '' tag) _ récupère le titre du produit '$ row-> title' de la base de données. ce titre je voudrais utiliser comme titre de la page dans le fichier 'index.php' – RanaHaroon

+0

merci mais ne fonctionne pas –

0

Vous pouvez inclure un mappage page de titre:

mapping.php

$mapping = [ 
'home' => 'Welcome on my homepage', 
'product' => ['242' => 'My fidget Spinner'] 
]; 

$title = ''; 
if(isset($_GET['page'])){ 
if(isset($mapping[$_GET['page']])){ 
    $title = $mapping[$_GET['page']]; 
} 
} 

if(isset($_GET['page']) && isset($_GET['id'])){ 
if(isset($mapping[$_GET['page']][$_GET['id']])){ 
    $title = $mapping[$_GET['page']][$_GET['id']]; 
} 
} 
+1

Merci de m'avoir répondu, comment puis-je définir '' My fidget Spinner' _ mysql fetched value_ dans le fichier 'product.php'? et le fichier 'mapping.php' devrait être inclus dans le fichier' index.php' avant les balises ''? veuillez corriger si c'est faux. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/2349450/">RanaHaroon</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">Donc, si votre titre de produit provient de la base de données, vous pouvez éviter le mappage pour les produits et obtenir le bon titre par l'ID donné de votre base de données – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">0<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>vous devez utiliser ob_start:</p> <pre><code class="prettyprint-override">ob_start(); $header=MC_ROOT.'/pages/'.$page.'.php'; include($header); $buffer=ob_get_contents(); ob_end_clean(); $buffer=str_replace("%TITLE%","NEW TITLE",$buffer); echo $buffer; </code></pre> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/45492835">Source</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2017-08-03 19:19:00</span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> </div> <div class="clearfix"> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422260"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> Dernière question </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://fr.voidcc.com/question/p-qmfyflwz-bkv.html" target="_blank" title="Comment changer la position du texte en entrée"> Comment changer la position du texte en entrée </a> </li> <li class="side_article_list_item"> 2. <a href="http://fr.voidcc.com/question/p-puhebhap-bkv.html" target="_blank" title="Comment afficher un dendrogramme de texte simple dans le terminal?"> Comment afficher un dendrogramme de texte simple dans le terminal? </a> </li> <li class="side_article_list_item"> 3. <a href="http://fr.voidcc.com/question/p-suishoco-bkv.html" target="_blank" title="Pourquoi .map sur un mutableList ne change pas réellement les valeurs dans List dans Kotlin?"> Pourquoi .map sur un mutableList ne change pas réellement les valeurs dans List dans Kotlin? </a> </li> <li class="side_article_list_item"> 4. <a href="http://fr.voidcc.com/question/p-skgkgoqh-bkv.html" target="_blank" title="Nombre entier reste entier mais les nombres décimaux resteront les décimales dans ma réponse de sortie?"> Nombre entier reste entier mais les nombres décimaux resteront les décimales dans ma réponse de sortie? </a> </li> <li class="side_article_list_item"> 5. <a href="http://fr.voidcc.com/question/p-qawtrbmn-bkv.html" target="_blank" title="Javascript - Obtenir un élément avec plusieurs valeurs"> Javascript - Obtenir un élément avec plusieurs valeurs </a> </li> <li class="side_article_list_item"> 6. <a href="http://fr.voidcc.com/question/p-ovfowsam-bkv.html" target="_blank" title="Que fait axis.flat dans matplotlib?"> Que fait axis.flat dans matplotlib? </a> </li> <li class="side_article_list_item"> 7. <a href="http://fr.voidcc.com/question/p-ufssjwgn-bkv.html" target="_blank" title="Comment correctement addTextChangeListener dans Android xml"> Comment correctement addTextChangeListener dans Android xml </a> </li> <li class="side_article_list_item"> 8. <a href="http://fr.voidcc.com/question/p-uldaiozu-bkv.html" target="_blank" title="php s3 pré-signé url sans sdk"> php s3 pré-signé url sans sdk </a> </li> <li class="side_article_list_item"> 9. <a href="http://fr.voidcc.com/question/p-gwsselpp-bkv.html" target="_blank" title="FireFox téléphone Android plein écran top question de barre d'état"> FireFox téléphone Android plein écran top question de barre d'état </a> </li> <li class="side_article_list_item"> 10. <a href="http://fr.voidcc.com/question/p-qvztfjea-bkv.html" target="_blank" title="Socket.IO TypeError: Impossible de lire la propriété 'diffusion' undefined"> Socket.IO TypeError: Impossible de lire la propriété 'diffusion' undefined </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> Questions connexes</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item">Aucun problème connexe^_^</li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://fr.voidcc.com/contact">Nous contacter</a></li> <li>© 2020 FR.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>