Balise title PHP

Petit nouveau ! | 6 Messages

05 oct. 2016, 18:11

Bonjour à tous :) :)

Je reviens à nouveau sur ce forum car j'ai bien apprécier l'aide apporter la première fois.

Je suis en train de créer un site en php et je souhaiterais qu'une de mes pages change la balise
<title></title>
ainsi que les balise meta descriptions et meta keywords

dans la version html j'avais inclus cette balise
<?php
$reponse = $bdd->query('SELECT * FROM ar_head WHERE name_page = "chasse_tresor" LIMIT 1');
while ($donnees = $reponse->fetch())
{
	echo '<title>'.$donnees['balise_tittle'].'</title>
		<meta name="description" content="'.$donnees['balise_descriptions'].'" />
		<meta name="keywords" content="'.$donnees['balise_keywords'].'">
	';

}
?>
Mais avec le passage en php toute les prestations sont sur une seul et même page soit excursions.php
Et dans cette même page qui se générè par la méthod $GET
Voici le bout du code de la table ar_prestation :
<?php
if (isset($_GET['name_page']))
{
$requete = $bdd->prepare('SELECT * FROM ar_prestation WHERE name_page = ?');
$requete->execute(array($_GET['name_page']));
$donnees = $requete->fetch();
{
	echo '
	<div class="'.$donnees['saison'].'">
	<h2>'.$donnees['tiitle1'].' - Prix : '.$donnees['tarif_journee'].' €/personne </h2>
	<h3> '.$donnees['titre_1'].'</h3>
	<p class="'.$donnees['class_text'].'">
	'.$donnees['text_1'].'<br/><br/>
	'.$donnees['text_2'].'
	</p>
	<img src="'.$donnees['img1'].'" class="'.$donnees['class_img1'].'" alt="'.$donnees['description_img1'].'" />
	<h3 class="titre_1_rando"> '.$donnees['titre_2'].'</h3>
	<img src="'.$donnees['img2'].'" class="'.$donnees['class_img2'].'" alt="'.$donnees['description_img2'].'" />
	<p class="text_rando_2">'.$donnees['text_3'].'</p>
	<h3 class="titre_2_rando"> '.$donnees['titre_3'].'</h3>
	<img src="'.$donnees['img3'].'" class="'.$donnees['class_img3'].'" alt="'.$donnees['description_img3'].'" />
	<p class="text_rando_3">'.$donnees['text_4'].'</p>
	</div>
	';
	}
}
?>
Alors j'ai bien trouver ce code la sur le net pour revenir a mes balise title mais je ne sais pas DU TOUT l'appliquez.
<?php
    if(isset($_GET['name_page']))
	{
$requete = $bdd->prepare('SELECT * FROM ar_head WHERE name_page = ?');
$requete->execute(array($_GET['name_page']));
$donnees = $requete->fetch();
{

        $page = $_GET['name_page'];
        switch($page)
		{
          case '1':
              $page_title = "case1";
          break;

          case '2':
             $page_title = "case 2";
          break;
        }
}
    }
    ?>
Mille merci d'avance de votre aide :-)

Mammouth du PHP | 688 Messages

05 oct. 2016, 19:55

cela revient au même que le premier code qui affiche bien quelque chose qui dépend de l'excursion choisie.
il faut juste récupérer les données avant, afin d'avoir accès aux données spécifiques de la page avant d'écrire la balise title.

Petit nouveau ! | 6 Messages

06 oct. 2016, 10:27

cela revient au même que le premier code qui affiche bien quelque chose qui dépend de l'excursion choisie.
il faut juste récupérer les données avant, afin d'avoir accès aux données spécifiques de la page avant d'écrire la balise title.
J'ai effectivement essayer de mettre ceci
<?php
$reponse = $bdd->query('SELECT * FROM ar_head WHERE name_page = ? LIMIT 1');
while ($donnees = $reponse->fetch())
{
  echo '<title>'.$donnees['balise_tittle'].'</title>
    <meta name="description" content="'.$donnees['balise_descriptions'].'" />
    <meta name="keywords" content="'.$donnees['balise_keywords'].'">
  ';
}
?>
Mais hélas rien n'y fait je n'ai juste mon body qui s'affiche et sans message d'erreur je suis perdu après comme head et et le lien excursions vont chercher tout les deux la même choses soit le name_page.

Dois-je faire quelque choses en plus les imbriquées je ne sais pas je suis perdu

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 oct. 2016, 10:36

salut,

ton dernier est correct, sauf que tu n'as pas
- indiquer la condition => il faut que ton paramètre du select ( le ?) soit affecté et tu le fait pas. tu devrais savoir le faire puisse c'est la même chose que pour le contenue :-)
- besoin du while tu auras forcément une seule ligne :-)~ (tu limites à 1 résultat dans le select. )

Arpès il faut le placer au bon endroit.
et ce bon endroit c'est entre les balises <head> et </head> ;)


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

06 oct. 2016, 16:55

Bon euh je doit progresser c'est déjà une bonne nouvelle avec ce bout de code il va me chercher la 1ere ligne mais non la bonne ligne :( :(

http://www.aveyron-randonnee.fr/excursi ... o_raquette
Il me sort l'index toujours mais non la page rando_raquette.
<?php
$reponse = $bdd->query('SELECT * FROM ar_head WHERE name_page = name_page ');
$donnees = $reponse->fetch();
{
	echo '<title>'.$donnees['balise_tittle'].'</title>
		<meta name="description" content="'.$donnees['balise_descriptions'].'" />
		<meta name="keywords" content="'.$donnees['balise_keywords'].'"/>
	';
}

?>
Je suis sur que mon erreur et sous mes yeux a cette heure présente mais ou ?

Mammouth du PHP | 688 Messages

06 oct. 2016, 20:10

1er message :
$requete = $bdd->prepare('SELECT * FROM ar_prestation WHERE name_page = ?');
$requete->execute(array($_GET['name_page']));