La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Site Multilingue
« Précédent Suivant »
Pages: [1] 2 Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Site Multilingue  (Lu 2482 fois)
Site Multilingue
« sur: le 25-06-2003 a 11:24:06 »
Vinz
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 49



Le nb c'est moua !
peresthy
Voir le Profil    E-Mail
Répondre avec citation

Salut, donc voila en j'en suis

<?
$expire = 365*24*3600;
setcookie("langue","anglais",time()+$expire);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<?php
include('$HTTP_COOKIE_VARS["langue"]');
if ($langue=='anglais');
{
include("anglais.php");
}
?>

<?
echo "$titre";
?>

<body>
</body>
</html>

Avec dans anglais.php $titre qui a pr valeur hello!

Ca m'affiche hello sur la page mais avec une erreur au dessu, a cette ligne :
include('$HTTP_COOKIE_VARS["langue"]');

Merci

A bientot
Vincent

Rapporter au modérateur  

Re:Site Multilingue
« Répondre #1 sur: le 25-06-2003 a 11:30:46 »
Shain
Administrateur
*****

Hors-Ligne

Sexe: Male
Messages: 3168



Grand méchant Admin !

Voir le Profil    WWW
Répondre avec citation

Modifie ca dans ton script pour voir :

<?php
if ($HTTP_COOKIE_VARS["langue"]=='anglais');
{
include("anglais.php");
}
?>

« Dernière Édition: le 25-06-2003 a 11:37:05 par Shain » Rapporter au modérateur  

Shain - Co-Admin Forum Webmaster
e-commerce strasbourg
Outil gestion de contenu CMS
Tutoriaux Flex & AIR
Re:Site Multilingue
« Répondre #2 sur: le 25-06-2003 a 11:40:31 »
trounday
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84




130812123 130812123
Voir le Profil    WWW    E-Mail
Répondre avec citation

A la place des ### tu dois mettre soit $LANGUE (en majuscule) soit $HTTP_COOKIE_VARS["LANGUE"].
Voilà je ne sais pas si c'est ça mais essaye quand même car il me semble qu'on ne peut pas inclure le cookie comme tu l'as fait:
include('$HTTP_COOKIE_VARS["langue"]')

Mais au cas où il te met quoi comme erreur exactement ?
J'espere que ça va marcher

Trounday



<?
$expire = 365*24*3600;
setcookie("langue","anglais",time()+$expire);
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<?php
if ( ### == 'anglais');
{
include("anglais.php");
}
?>

<?
echo "$titre";
?>

<body>
</body>
</html>

Rapporter au modérateur  

Laboratory Trounday Design: http://www.twd.fr.st
Re:Site Multilingue
« Répondre #3 sur: le 25-06-2003 a 11:42:48 »
trounday
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84




130812123 130812123
Voir le Profil    WWW    E-Mail
Répondre avec citation

Je crois que Shain a été plus rapide...

Rapporter au modérateur  

Laboratory Trounday Design: http://www.twd.fr.st
Re:Site Multilingue
« Répondre #4 sur: le 25-06-2003 a 13:44:18 »
Vinz
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 49



Le nb c'est moua !
peresthy
Voir le Profil    E-Mail
Répondre avec citation

Re salut :p

Voila ca marche mais il y a encore un petit problème...

<?php
// cookie par default = francais
setcookie("langue","$francais",time()+365*24*3600);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<?php
//langue francaise
if ($HTTP_COOKIE_VARS["langue"]=='francais');
{
include ("francais.php");
}
?>

<?php
//langue allemande
if ($HTTP_COOKIE_VARS["langue"]=='allemand');
{
include("allemand.php");
}
?>

<?php
//langue anglaise
if ($HTTP_COOKIE_VARS["langue"]=='anglais');
{
include("anglais.php");
}
?>

<?php
echo "$titre";
?>

<body>
</body>
</html>

Voila en fait dans ma page ca me marque en anglais alors que j'ai mis en francais en fait ca prend tjs la derniere fonction(ici le if=anglais en l'occurence...) j'ai essayé justement en echange anglais et allemand et ca marqué le truc en allemand !
Je dois utilisé quel fonction pour arrivé a ce que ca me marqué en francais?

En suite pour choisir la lanque j'aimerai donc déposer un cookie anglais, francais ou allemand quand la personne clique sur un drapeau, il y a qqchose de special pour envoyer un cookie en meme temps qu'un clique, jy arrive pas :-(

Merci,

Vincent

Rapporter au modérateur  
Re:Site Multilingue
« Répondre #5 sur: le 25-06-2003 a 15:35:16 »
trounday
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84




130812123 130812123
Voir le Profil    WWW    E-Mail
Répondre avec citation

Tu devrais essayer avec ça:

Code:

<?php
//langue francaise
if ($HTTP_COOKIE_VARS["langue"]=='francais');
{
include ("francais.php");
}
//langue allemande
elseif ($HTTP_COOKIE_VARS["langue"]=='allemand');
{
include("allemand.php");
}
//langue anglaise
elseif ($HTTP_COOKIE_VARS["langue"]=='anglais');
{
include("anglais.php");
}
?>


Ou alors tu peux très bien essayer un truc dans le genre:

Code:

include ("$HTTP_COOKIE_VARS[\"langue\"].php3");

Je ne sais pas si ça peut marcher mais ton script sera beaucoup mon lourd. Mais c'est tout de même à essayer.

Voilà voilà

Rapporter au modérateur  

Laboratory Trounday Design: http://www.twd.fr.st
Re:Site Multilingue
« Répondre #6 sur: le 25-06-2003 a 15:42:38 »
Vinz
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 49



Le nb c'est moua !
peresthy
Voir le Profil    E-Mail
Répondre avec citation

Salut,
Merci pour ta réponse mais il me signale une erreur au niveau des elseif...
C'est peut etre mon cookie qui ne marche pas aussi, quand je regarde dans mon cache il ne me l'affiche pas? je dois le changer pi etre?

Rapporter au modérateur  
Re:Site Multilingue
« Répondre #7 sur: le 25-06-2003 a 15:49:40 »
trounday
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84




130812123 130812123
Voir le Profil    WWW    E-Mail
Répondre avec citation

Ben pour verifié s'il marche tu peux très faire un

Code:
echo "$HTTP_COOKIE_VARS[\"langue\"]";

S'il affiche anglais, français ou allemand c'est qu'il marche ton cookie.
Sinon essaye de vider ta cache et recharge ton cookie.
Si tu galères tu peux allez jeter un coup d'oeil sur ce site:
http://www.phpdebutant.com/article40.php

Bon taf
Trounday

Rapporter au modérateur  

Laboratory Trounday Design: http://www.twd.fr.st
Re:Site Multilingue
« Répondre #8 sur: le 25-06-2003 a 16:54:11 »
Vinz
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 49



Le nb c'est moua !
peresthy
Voir le Profil    E-Mail
Répondre avec citation

Bon j'ai essayé une autre méthode et ca marche presque :

<?php
include ("francais.php");
?>

<?php
if ($langue=='allemand')
{
include ("allemand.php");
}

elseif ($langue=='anglais')
{
include ("anglais.php");
}

elseif ($langue=='francais')
{
include ("francais.php");
}
?>

<?php
echo "Choose your language :<BR>";
echo '<a href="index.php?langue=allemand">allemand</a><BR>';
echo '<a href="index.php?langue=anglais">anglais</a><BR>';
echo '<a href="index.php?langue=francais">francais</a><BR>';
?>
<BR>
<?php
echo "$titre";
?>
<BR><BR><BR><a href="?page=1">lien</a><BR><BR><BR>
<TABLE border=1 width=80%>
<TR>
<TD>
<?php
if (isset($_GET["page"])) $page = $_GET["page"];
else $page = 0;
switch ($page)
{
default : include("news.php"); break;
case 1 : include("lien.php"); break;

?>
</TD>
</TR>
</TABLE>

J'ai mis au debut comme langue par default francais, quand je change de langue ya tout qui change nikel, mais dès que j'appuie sur le lien, bien sur tout se réinitialise et se met en francais !
j'ai essayé en mettant  index.php?langue=allemand&page=1
ca me met tout en allemand...
En fait il faudrait que le langue=allemand reste apres l'avoir selectionner.
Ou peut etre vous avez un autre systeme de cadre a me proposer?

a++
Vincent

Rapporter au modérateur  
Re:Site Multilingue
« Répondre #9 sur: le 25-06-2003 a 18:43:34 »
trounday
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84




130812123 130812123
Voir le Profil    WWW    E-Mail
Répondre avec citation

Comme je te l'avais dit je ne connais pas vraiment ces scripts qui permettent de changer de langue donc les conseils que je te donne sorte de ma petite tête qui connait le strict minimum en PHP donc j'arrive un peu à s'atturation d'idée.
Mais pour l'instant je te dirait que c'est à ce moment qu'interviennent les cookies.
Une fois que la personne à choisi sa langue il faut que tu envoies un cookies. Ensuite lorsque la personne se connecte pour contourné la réinitialisation en français, tu verifie si le cookies existe donc en gros si la variable $HTTP_COOKIE_VARS["langue"] est renvoyé.
Si oui et ben ton utilisateur gardera son langage qu'il a choisie...

Je pense que ça devrait marcher comme ça

Rapporter au modérateur  

Laboratory Trounday Design: http://www.twd.fr.st
Re:Site Multilingue
« Répondre #10 sur: le 25-06-2003 a 18:55:19 »
Vinz
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 49



Le nb c'est moua !
peresthy
Voir le Profil    E-Mail
Répondre avec citation

Voui je pense, mais c'est au niveau du cookie que j'ai un problème, j'ai fais le test que tu m'a dis et il le detect pas il marque :
Parse error: parse error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in e:\easyphp\easy php 1.6\www\tests\index.php on line 42
Pour le créé je met
setcookie("langue",$allemand,time()+365*24*3600);
tout en haut de la page, comprend pas:-/

Rapporter au modérateur  
Re:Site Multilingue
« Répondre #11 sur: le 25-06-2003 a 19:03:22 »
trounday
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84




130812123 130812123
Voir le Profil    WWW    E-Mail
Répondre avec citation

Je pense que je ferais un truc dans le genre:

Il faut vérifier la présence du cookies:

Code:


include ("français.php");

$verif = $HTTP_COOKIE_VARS["langue"];

if($verif =="français" || "allemand" || "anglais")
{
    include ("$verif.php");
}
else
{
    include ("français.php");
}

Là on est parti du fait que le cookie existe donc il a choisi la langue qu'il a transmit. Et si le cookie n'existe pas il choisi par default la langue française.

Ensuite si l'utilisateur souhaite une autre langue, il clique sur le liens lui permettant de le faire. Et la tu crées tout de suite le cookie avec la veleur choisi. Comme ça quand la page va être rechargé, le script de départ va tout de suite se "connecter" sur le cookies.

Rapporter au modérateur  

Laboratory Trounday Design: http://www.twd.fr.st
Re:Site Multilingue
« Répondre #12 sur: le 25-06-2003 a 19:06:23 »
trounday
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84




130812123 130812123
Voir le Profil    WWW    E-Mail
Répondre avec citation

Essaye avec ça...

setcookie("langue","allemand",time()+365*24*3600,"");

Rapporter au modérateur  

Laboratory Trounday Design: http://www.twd.fr.st
Re:Site Multilingue
« Répondre #13 sur: le 25-06-2003 a 19:25:39 »
Vinz
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 49



Le nb c'est moua !
peresthy
Voir le Profil    E-Mail
Répondre avec citation

Merci, c'est presque ca, le cookie se cré, pour changer la langue dans les liens j'ai penser quand la personne clique sur le lien index.php?langue=anglais et mettre un $langue dans le cookie pour que la valeur s'attribue mais apparement ca marche pas "fais n'imp lol" 

Voila ou j'en suis :

<?
setcookie("langue","$langue",time()+365*24*3600,"");
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<?php

include ("francais.php");

$verif = $HTTP_COOKIE_VARS["langue"];

if($verif =="français" || "allemand" || "anglais")
{
include ("$verif.php");
}
else
{
include ("français.php");
}
?> 

<?php
echo "Choose your language :<BR>";
echo '<a href="index.php?langue=allemand">allemand</a><BR>';
echo '<a href="index.php?langue=anglais">anglais</a><BR>';
echo '<a href="index.php?langue=francais">francais</a><BR>';
?>

<BR>

<?php
echo "$titre";
?>

<BR><BR><BR><a href="?page=1">lien</a><BR><BR><BR>

<TABLE border=1 width=80%>
<TR>
<TD>
<?php
if (isset($_GET["page"])) $page = $_GET["page"];
else $page = 0;
switch ($page)
{
default : include("news.php"); break;
case 1 : include("lien.php"); break;

?>
</TD>
</TR>
</TABLE>
</body>
</html>

Rapporter au modérateur  
Re:Site Multilingue
« Répondre #14 sur: le 25-06-2003 a 19:27:11 »
Vinz
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 49



Le nb c'est moua !
peresthy
Voir le Profil    E-Mail
Répondre avec citation

Si je change la langue du cookie, la langue change bien mais comment faire quand la personne clique sur le lien? 

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] 2 Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg