IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Balises title et meta dynamiques


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut Balises title et meta dynamiques
    Bonjour,

    J'ai quelques connaissances basiques en html et en css mais je suis totalement novice en Php.
    Or, j'ai récupéré la "webmasterisation" du site de ma boite.
    Je me suis rendu compte que le title et les différents meta n'apparaissent pas (pas terrible en terme de visibilité et de référencement).

    Ainsi, j'ai ce code là dans mon index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <? session_start();
    //chargement de la bibliothèque de fonctions.
    include_once("_tools/biblioFonctions.inc");
    include_once("_linkbdd/curseur.inc");
    $tab_meta = getMeta(1);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <?
    if($tab_meta!=null)
    {
    	echo <title>.$tab_meta[0].</title>;
    	echo <meta name='description' lang='fr' content='".$tab_meta[1]."'>;
    	echo <meta name='keywords' lang='fr' content='".$tab_meta[2]."'>;
    }
     
    if($_SESSION["langue"]==1) echo "<meta name='Language' CONTENT='fr'/>";
    	else echo "<meta name='Language' CONTENT='en'/>"
     
    ?>
    Il semble que "curseur.inc" permette de se connecter à la BDD phpMyadmin qui contient une table nommée Meta dans laquelle j'ai mes _idpage, idMeta, title, description...

    Voyez-vous une erreur?

    Avez-vous besoin de plus d'infos pour me renseigner?

    Merci d'avance...

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    oui, il faudrait voir le code de la fonction getMeta() car apparemment getMeta(1) retourne null et la condition if($tab_meta!=null) retourne false donc le code du bloc n'est jamais exécuté.
    Tu peux déjà tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    var_dump($tab_meta);
    if($tab_meta!=null) {
    ...
    pour afficher la valeur de $tab_meta.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    j'ai trouvé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function getMeta($page)
    {
    	if(isset($_SESSION['langue']))$langue =$_SESSION['langue'];
    	else $langue=0;
    	$sql="select * from Meta where PageSite_idPage='".$page."' and Langue_idLangue='".$langue."'";
    	$cursMeta = new curseur();
    	$cursMeta->select($sql);
    	$tab_Meta[]=$cursMeta->recupchamp("title");
    	$tab_Meta[]=$cursMeta->recupchamp("description");
    	$tab_Meta[]=$cursMeta->recupchamp("keywords");
    	$cursMeta->fermcurs();
    	return $tab_Meta;
    }
    Est-ce bien ça qu'il faut?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Citation Envoyé par Djakisback Voir le message
    Tu peux déjà tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    var_dump($tab_meta);
    if($tab_meta!=null) {
    ...
    pour afficher la valeur de $tab_meta.
    J'ai pas l'impression que ça marche...

  5. #5
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Le problème c'est que t'es dans le <head> donc il affiche rien faudrait afficher la source HTML et voir s'il y a quelque chose d'écrit.
    Si t'as bien null qui s'affiche faudrait voir la méthode select() de ta classe curseur qui doit se trouver dans un fichier curseur.inc ou un nom du style.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    De retour de we...

    Effectivement, il n'y a rien d'afficher dans la source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <title></title><meta name='description' lang='fr' content=''><meta name='keywords' lang='fr' content=''>
    J'ai bien un "curseur.inc" dans lequel j'ai, entre autre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // Execution requete select
    	function select($sql)
    	{
    		$this->result=mysql_query($sql) or die ("Erreur requete : ".$sql);
    		if ($this->nbligne()>0) 
    		{
    			$this->recupligne();
    		}
    	}
    Ma "function getMeta" se trouvant dans "_tools/biblioFonctions.inc"

    Je suis vraiment perdu dans tout ça...

    J'espère que j'ai fourni suffisamment d'informations pour résoudre mon problème.

  7. #7
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Bonjour

    Alors apparemment si j'ai bien compris get_meta te retourne la valeur de tes meta sous forme de tableau en fonction de la valeur que tu envoi à get_meta...

    Dans ton exemple getMeta(1) va te sortir les meta de ta page qui a l'id 1 : voir ceci dans ta requête sql : PageSite_idPage='".$page."'

    Donc si tu mets getMeta(1) ça te retourne les meta de l'entrée dans la base qui possède un PageSite_idPage qui vaut 1.

    J'espère avoir été clair ?

    Donc il faut vérifier si dans ta bdd tu as dans la table "meta" un PageSite_idPage qui vaut 1, ainsi de suite...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Balise TITLE en dynamique : W3C non valide
    Par Alain17 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 14/12/2013, 21h59
  2. Ou placer ses balises title, meta quand on a des pseudo frame
    Par querybase29 dans le forum Référencement
    Réponses: 4
    Dernier message: 16/06/2012, 16h12
  3. Balise title dynamique
    Par bluefish63 dans le forum Langage
    Réponses: 11
    Dernier message: 11/05/2008, 10h38
  4. META TITLE et balise title
    Par nyme92 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 16/01/2008, 14h54
  5. Problème formatage dans balise title / alt
    Par jflebegue dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 09/12/2004, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo