Balise Title Dynamique

Moui
Invité n'ayant pas de compte PHPfrance

28 déc. 2010, 16:21

Bonjour, je suis acutellement Webmaster d'un site que j'ai rendu entierement dynamique grace à php, mais je viens de me rendre compte que la balise title était toujours la meme, j'ai donc decidé de la modifiée, mon code s'organise a peu pres comme celui ci dessous :

-> Récupération des informations de l'article (GET) dans la base de donné et génération de varariable contenant ses information (dont le titre de l'article).
-><title><?php echo $titre; ?></title>

-> le corps du site.

Je ne comprend pas pourquoi cela ne marche pas, quand je regarde le code source de la page, la balise Title est VIDE.

Pourriez vous m'aider s'il vous plait.

Ps: pourquoi mon site est t'il référencer par Yahoo mais pas par Google ? Alors que j'ai fait plusieurs demande d'éxamination sur google et aucune sur Yahoo.

Eléphant du PHP | 99 Messages

28 déc. 2010, 16:28

Peux-tu copier/coller ici le code en question, car sans code ça va être compliqué de t'aider.

Moui
Invité n'ayant pas de compte PHPfrance

28 déc. 2010, 16:34

Je ne l'avais pas sur le pc, mais voila, je suis revenu chez moi.
<?php
$serveur = "localhost";   // serveur
$user= "root";         // identifiant
$password = "";         // mot de passe
$bdd = "site"; 
//création du message d'erreur.


$sql = new mysqli($serveur, $user, $password, $bdd) or my_error(mysqli_connect_errno(),mysqli_connect_error());
$stmt = $sql->prepare('SELECT Titre, Contenu, Auteur, Date FROM articles WHERE id = ?');
$stmt->bind_param('i', $numero);
$numero = $_GET['id'];
$stmt->bind_result($titre, $contenu, $auteur, $date);
$stmt->execute();
$stmt->store_result();
$nbr_message = ($stmt->num_rows);
?>
<!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" >
	<head>
    <title><?php echo $titre;?></title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="../css
/template.css" />
	</head>
	<body>
	

		<div id="en_tete">
		</div>
		<div id="menu_sup">
		<div class="element_menuSup">
		<?php include("../menusup.php");?>
		</div>
		</div>
		<div id="menu">
		<div class="element_menu">
		<?php include("../menu.php");?>
		</div>
		</div>

		<div id="corps">

<?php
$stmt->fetch();
if ($nbr_message == 0)
{
echo '<span class="blanc">Cet article n\'est pas disponible actuellement.</span>';
}
elseif ($nbr_message > 1)
{
echo '<span class="blanc">Vous ne pouvez pas afficher deux articles en meme temps.</span>';
}
else
{
echo '<p class="blanc">' . htmlspecialchars($titre) . '<br />Le :' . htmlspecialchars($date) . '<br /><br />' . nl2br(stripslashes($contenu)) . '<br /><br /><span class="Rouge">' . htmlspecialchars($auteur) . '</span><br /><br /></p>';

$stmt->free_result();
$stmt = $sql->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_billet = ?');
$stmt->bind_param('i', $numero);
$numero = $_GET['id'];
$stmt->bind_result($auteur, $commentaire, $date_commentaire_fr);
$stmt->execute() or my_error($stmt->errno,$stmt->error);
while($stmt->fetch())
{
?>
<p><strong><?php echo htmlspecialchars($auteur); ?></strong> le <?php echo $date_commentaire_fr; ?></p>
<p><?php echo nl2br(stripslashes($commentaire)); ?></p>
<?php
}
?>
<p>Envoyer un commentaire<br /></p>
<form action="../lib/commentaire_post.php" method="post">
<p>
Pseudo :<br />
<input type="text" name="pseudo"/><br />
Message :<br />
<textarea name="message" rows="10" cols="50">
</textarea><br />
<input type="hidden" name="page" value="<?php echo $numero;?>" />
<input type="hidden" name="url" value="../contenu/article.php?id=<?php echo $numero; ?>" />
<input type="submit" value="Poster"/>
</p>
</form>
<?php
}
$stmt->close();
?>

		</div>

		<div id="footer">
		<?php include ("../footer.php"); ?>
		</div>
	</body>
</html>

Eléphant du PHP | 422 Messages

28 déc. 2010, 17:10

hello

ca serait pas dans l'autre sense

$stmt->bind_param('i', $numero);
$numero = $_GET['id'];

cad

$numero = $_GET['id'];
$stmt->bind_param('i', $numero);


++
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

moui
Invité n'ayant pas de compte PHPfrance

28 déc. 2010, 17:26

Sa marche dans les deux sens, mais aucun changement sur le title.

Eléphant du PHP | 422 Messages

28 déc. 2010, 17:42

hello

tu as combien de résultat ? (echo $nbr_message)

car si tu en a plus d'un je doute que ca marche comme ca.
il faut pas utiliser fetch() ?


++


http://fr2.php.net/manual/fr/mysqli-stm ... result.php
toujours faire une recherche sur http://www.php.net et/ou sur http://www.google.fr :)
utiliser http://ideone.com/ pour vos codes :)

Moui
Invité n'ayant pas de compte PHPfrance

28 déc. 2010, 18:34

Ce code me sert a afficher un article en particulier, il marche, le seul truc ou je rencontre un probleme c'est pour le Title.

Moui
Invité n'ayant pas de compte PHPfrance

28 déc. 2010, 18:55

Excuse moi, je me sens bete, j'avais oublier de déplacer le fetch que j'avais lancer en bas (j'ai modifié mon code aujourd'hui.


Merci