Utiliser la balise h1 comme titre de la page dans <head><title>

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Utiliser la balise h1 comme titre de la page dans <head><title>

par subran » 02 mai 2009, 13:25

Le problème a été résolu, merci ;-)

par Invité » 02 mai 2009, 13:16

J'ai créé le fichier test.php
<?php 
include('correspondace_title.php');
$titre = $array_correspondace[basename($_SERVER["SCRIPT_NAME"])];
// DEBUG
echo "<p>" . basename($_SERVER["SCRIPT_NAME"]) . "</p>";
?>
http://www.depanne-pc.be/nl/test.html et http://www.depanne-pc.be/nl/index.php?page=test donne tout deux index.php

Donc .... je ne sais pas si ca va fonctionner.... faudrait que ca donne test pour que les autres donnent services , tarifs, ...

Qu'en pensez-vous?
Ba c'est normal, puisque la page en cours est bien toutjours index.php

Essaye ma solution basé sur le paramètre "page"

par subran » 01 mai 2009, 23:45

Pendant que tu y es, sur le même principe, pour être complet tu peux faire un tableau de correspondance pour la balise meta description :wink:
Bonne idée, assitôt dit... aussitôt fait ;-)

par AB » 01 mai 2009, 21:08

Pendant que tu y es, sur le même principe, pour être complet tu peux faire un tableau de correspondance pour la balise meta description :wink:

par subran » 01 mai 2009, 00:42

Génial ca fonctionne !

Merci à tous pour votre aide !

par sadeq » 30 avr. 2009, 20:18

C'est à dire essaye ça:
De ce que je vois, tu passe un paramètre ?page=services

Donc à partir de là, il faut que ton tableau de correspondance référence les différentes valeurs de la variable page passé en paramètre, par exemple comme ceci
<?php 
$array_correspondace = array( 
"services" => "Nos services", 
"tarifs" => "Nos tarifs"
); 
?>
Ensuite, il ne te reste plus qu'a faire
<?php
$titre = $array_correspondace[$_GET["page"]];
?> 
Et devrait fonctionner.

Tient nous au courant.

par subran » 30 avr. 2009, 20:14

Ya pas de raison que ca ne marche pas ;)
essaye aussi la solution de Yosh

Hawk
J'ai testé mais ca ne donne rien :(

par thehawk » 30 avr. 2009, 19:53

Ya pas de raison que ca ne marche pas ;)

essaye aussi la solution de Yosh


Bye Hawk

par subran » 30 avr. 2009, 19:45

J'ai créé le fichier test.php
<?php 
include('correspondace_title.php');
$titre = $array_correspondace[basename($_SERVER["SCRIPT_NAME"])];
// DEBUG
echo "<p>" . basename($_SERVER["SCRIPT_NAME"]) . "</p>";
?>
http://www.depanne-pc.be/nl/test.html et http://www.depanne-pc.be/nl/index.php?page=test donne tout deux index.php

Donc .... je ne sais pas si ca va fonctionner.... faudrait que ca donne test pour que les autres donnent services , tarifs, ...

Qu'en pensez-vous?

par Yosh » 30 avr. 2009, 15:31

Effectivement, ça peut être un problème quand tu te base sur le nom du script dans l'URL qui change par URL rewriting.

Premièrement tu dois faire un débogage pour connaitre le "script name" dans le code :
<?php 
include('correspondace_title.php');
$titre = $array_correspondace[basename($_SERVER["SCRIPT_NAME"])];
// DEBUG
echo "<p>" . basename($_SERVER["SCRIPT_NAME"]) . "</p>";
?>
A fin de connaitre le vrai nom du script rencontré dans ton environnement.
+1

Et ensuite à toi de voir comment tu peux adapter ma solution.

De ce que je vois, tu passe un paramètre ?page=services

Donc à partir de là, il faut que ton tableau de correspondance référence les différentes valeurs de la variable page passé en paramètre, par exemple comme ceci
<?php 
$array_correspondace = array( 
"services" => "Nos services", 
"tarifs" => "Nos tarifs"
); 
?>
Ensuite, il ne te reste plus qu'a faire
<?php
$titre = $array_correspondace[$_GET["page"]];
?> 
Et devrait fonctionner.

Tient nous au courant.

par sadeq » 30 avr. 2009, 14:24

Effectivement, ça peut être un problème quand tu te base sur le nom du script dans l'URL qui change par URL rewriting.

Premièrement tu dois faire un débogage pour connaitre le "script name" dans le code :
<?php 
include('correspondace_title.php');
$titre = $array_correspondace[basename($_SERVER["SCRIPT_NAME"])];
// DEBUG
echo "<p>" . basename($_SERVER["SCRIPT_NAME"]) . "</p>";
?>
A fin de connaitre le vrai nom du script rencontré dans ton environnement.

par subran » 30 avr. 2009, 13:50

Oui la solution de Yosh est la bonne mais ... ca ne fonctionne pas encore :d

J'ai donc rectifié.

Ceci au dessus de <head>
<?php 
include('correspondace_title.php');
$titre = $array_correspondace[basename($_SERVER["SCRIPT_NAME"])]; 
?>
Et ceci entre les balises Title:
<?php echo $titre; ?>
Avec un fichier correspondace_title.php:

<?php 
$array_correspondace = array( 
"contact-nl.php" => "Ons bereiken", 
"faq-nl.php" => "Meest gestelde vragen", 
"portfolio-nl.php" => "Onze portfolio", 
"index.php?page=services" => "Onze diensten", 
"voip-nl.php" => "Uw vaste lijn voor 20 euro per jaar!", 
"tarifs-nl.php" => "Onze tarieven" 
); 
?> 
Mes pages sont accessible via http://www.depanne-pc.be/nl/index.php?page=services ou http://www.depanne-pc.be/nl/services.html grace au URL REWRITTING . Je pense que c là que ca coince dans le fichier correspondace_title.php

Qu'en penses-tu Yosh?

Merci pour ton aide!

par sadeq » 30 avr. 2009, 13:45

Moi aussi je penche plus pour la solution de Yosh :pouce:

par Yosh » 30 avr. 2009, 10:55

Ma technique me semble plus approprié que la solution en JS mais bon tu fais comme tu le sens.

Par contre erreur de ma part tu remplace
$_SERVER["SCRIPT_NAME"]
par
basename($_SERVER["SCRIPT_NAME"])
Et le tour est joué.

Il faut tout de même t'assurer que tes fichiers soit bien identique à ceux référencé dans ton tableau $array_correspondace

Bon codage.

par sadeq » 30 avr. 2009, 10:35

C'est vrai, c'est le gros inconvénient de cette solution quant au référencement naturel mais on peut inclure des balises META pour spécifier des mots-clés fixes.