Voir aussi
Études
Articles de WRI
- Redirections 302
- Google Toolbar 3
- Rel="NoFollow"...
- L'effet sandbox
- Foire aux backlinks
- Redirections sauvages
- Détournement de page
- Afficher un flux RSS
- Intégrer un flux RSS
- Le PR est-il mort ?
- Analyse référencement
- Google Data Centers
- L'algo de janvier 2004
- Google Deskbar
- Google Dance oct 2003
- GoogleBot change
- Calculatrice Google
- J'ai de la chance
- Google.fr, Google.com
- GoogleBot détaillé
- Bilan 2002
- Chanson au PR Noel
- Viewer, WebQuotes
- La vie d'une page
- Les labos de Google
- Google API
- Phénomène de société
- L'algorithme parfait
- La Google danse...
Autres articles
- Pénalités de Google
- Ma théorie sandbox
- Le secret des doubles-résultats
- Marketing viral
- Le projet Opquast
- Forum phpBB
- Sessions et langues
- Référencement multilingue
- Google en résumé
- Réécriture d'URL
- URL Rewriting
- URL Rewriting : intro
- Fichier .htaccess
PHP
Gestion des langues et des sessions en PHP / MySQL
Par Thibaud Elzière, Mai 2004
Note de WebRankInfo : cet article décrit une méthode possible (adaptée aux sites de faible taille), il en existe bien entendu d'autres...
3- Gestion des langues
3.3 Changement de langue
Le changement de langue doit être possible de manière simple directement
par le visiteur en cliquant sur un drapeau ou le nom de la langue
par exemple. On a vu que le choix de la langue est piloté par la
valeur de la variable $language. Il suffit donc de
changer cette variable à un endroit donné dans le site pour que
les pages du site soient dans la langue souhaitée jusqu'au prochain
changement.
Ce changement de langue peut être effectué de plusieurs façons,
en particulier ; par l'utilisation d'un formulaire qui renvoie
la valeur de la variable $language dans un champs de
type hidden ou par l'intermédiaire d'un lien qui renvoie
le nom de la page suivi de la chaîne de variable $language=valeur.
La première solution ne sera pas prise en compte par un moteur de
recherche, nous nous intéresserons donc au passage de variable par
l'URL.
On peut donc changer la langue en proposant sur une image du drapeau
du pays un lien vers la page en cours et la valeur correspondant
de la variable $language. Si nous sommes sur la page
23, le lien devra être du type page23-l1.html?language=2
soit en reprenant les fonctions utilisées, le lien sera de la forme
page(23).?language=2.
Cette solution pose quelques problèmes, notamment le lien
créé pourra ne pas être suivi
pas tous les moteurs de recherche, nous allons donc
utiliser une nouvelle fois la réécriture
d'URL pour prendre en compte le changement de langue.
La solution sera d'introduire une variable L indiquant
la valeur de la langue souhaitée.
Les liens permettant le changement de langue devront alors être
de la forme page23-l1-L2.html pour changer vers la
langue 2. Il suffira en fait d'inclure le paramètre -L
suivi du numéro de la langue dans le nom de la page en cours et
d'en faire un lien.
On modifiera le fichier .htaccess comme suit de manière à prendre en considération un possible changement de langue à n'importe quelle niveau du site.
Options +FollowSymlinks RewriteEngine on Rewrite ^(.*)-l([0-9]*)(.*)\.html$ $1$3.php?language=$2 [QSA] Rewrite ^(.*)-L([0-9]*)\.php$ $1.php?language=$2 [L,QSA]
Par exemple, le fichier page23-l1-L2.html sera réécrit
une première fois page23-L2.php?language=1 (1ère règle)
puis page23.php?language=1&language=2 (2ème règle).
Pour ajouter ce nouveau paramètre à la page désirée, on va définir une nouvelle fonction. Ceci peut paraître lourd mais cette fonction sera très utilisée par la suite pour introduire de nouveaux paramètres à l'intérieur du nom du fichier plutôt que dans la chaîne de requête (query string).
function add_parameter($nid_page, $parameter)
{
$old_link=page($nid_page) ; // On récupère
le lien envoyé par notre fonction page
$tab_str=explode(".",$old_link) ; // On
scinde ce lien en deux parties séparées
par le point
$new_link=$tab_str[0].$parameter.$tab_str[1] ; //
On reconstruit le lien en ajoutant le paramètre
return $new_link ; // On renvoie le nouveau lien
reconstruit
}
Par exemple :
add_parameter(23, -L2)va retournerpage23-l1-L2.htmlsi$language=1add_parameter(23, -L1)va retournerpage23-l1-L1.htmlsi$language=1
Pour changer de langue dans le site web, on va donc recourir à cette fonction pour créer les liens sur lesquels le visiteur devra cliquer pour opérer un changement de langue.
Exemple
Si vous souhaitez permettre un changement de langue quelle que soit la position du visiteur dans le site (c'est-à-dire quelle que soit la page active), il va falloir que vous proposiez sur chaque page (ou dans un fichier commun appelé sur chacune des pages), un lien vers la page active suivi des paramètres de changement de langue que l'on a précédemment introduits.
On va préalablement définir une fonction current_page
qui à partir du nom de la page active renvoyé par PHP va renvoyer
le numéro de la page dans notre table table_page.
function current_page()
{
$base_page=basename($_SERVER["PHP_SELF"])
; // $base_page contient le nom du fichier
$tab_str=explode(".",$base_page); // On
récupère la partie sans l'extension
$name=$tab_str[0];
$query="SELECT id FROM table_page WHERE name=$name";
$result=mysql_query($query); // On recherche dans
la table MySQL table_page
$line=mysql_fetch_object($result);
return $line->id; // On retourne le numéro
de la page correspondant
}
La fonction current_page appliquée sur la page 23
va renvoyer 23.
On va maintenant créer comme exemple deux liens permettant de changer la langue sur la page en cours, ces lignes devront être rajoutées sur chaque page ou dans un fichier commun à toutes les pages.
$id_page=current_page() ; // On récupère le numéro de la page courante $link1= add_parameter($id_page,-L1) ; // On crée le lien pour changer en langue 1 $link2= add_parameter($id_page,-L2); // On crée le lien pour changer en langue 2 $html_link1="<a href=$link1>Francais</a>"; // On passe en html $html_link2="<a href=$link2>English</a>"; // On passe en html
Suite de l'article :
- Introduction
- Gestion des sessions
- Gestion des langues
Gestion
d'autres paramètres- Conclusion
Publicités
- Hébergement web pro

- Pour un bon référencement, il faut un bon hébergeur.
- Testez Sivit, l'hébergeur choisi par WRI (garantie 30 jours satisfait ou remboursé) à partir de 1,90 EUR HT/mois
- Best seller

