SITE EN PLUSIEURS LANGUES : EXEMPLE SIMPLE AVEC XML

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 31 août 2005 à 15:00
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015 - 8 avril 2015 à 19:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33564-site-en-plusieurs-langues-exemple-simple-avec-xml

cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
8 avril 2015 à 19:47
Undefined index: HTTP_ACCEPT_LANGUAGE in

Quelqu'un saurait comment corriger cette erreur que retourne fct.php?
Merci
clement1412 Messages postés 4 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 16 mars 2011
16 mars 2011 à 09:58
Ok oui javais vut sauf que la difference comparé a toi c'est que toi c'est ton forumalire suivant si tu choissit anglais ou francais qui te redirige vers le xml correspondant!! or moi je ne peut pas fonctionner comme sa si je veut un fichier xml par page!
Sinon petit aparte ton site possède beaucoup de contenu?
clement1412 Messages postés 4 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 16 mars 2011
16 mars 2011 à 09:36
ah oui nikel javé pa vu!! merci et sa marche bien ?
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
15 mars 2011 à 21:36
j'ai donné un principe d'idée juste au dessus, moi j'utilise un par langue
clement1412 Messages postés 4 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 16 mars 2011
15 mars 2011 à 19:56
salut, tu aurait pas une astuce me permettant de creer une fonction qui choissise suivant ma page web son fichier xml corespondant! Car je souhaiterai faire un fichier xml par page car un pour tous mon site c'est pas jouable!
en espérant une reponse positive ;) je suis un debutant en programamtion web.
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
15 mars 2011 à 19:13
depuis le temps je confirme , royal :)
clement1412 Messages postés 4 Date d'inscription vendredi 18 février 2011 Statut Membre Dernière intervention 16 mars 2011
15 mars 2011 à 16:42
très bon tutoriel!!
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
14 oct. 2008 à 17:29
En fait c'est simple , reste à savoir si cela est une méthode qui change quelque chose ou non.

fct.php

$doc = simplexml_load_file ('local_'.$_SESSION['locale'].'.xml'); // on charge le fichier de localisation

Les fichiers xml seront donc :
local_FRANCAIS.xml
local_ENGLISH.xml
local_DEUTSCH.xml

Si quelqu'un peu me dire si cela est une bonne solution ou non ;)
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
14 oct. 2008 à 13:17
Trouver ,j'ai jouer sur la taille "0" et placer une couleur adequate :
font-size:0px;
color:#FF0000;

Par contre la vache mon xml est immense , j'espère qu'avoir un seul xml ne bloque pas la vitesse du site ... sinon quelqu'un aurait modifié de sorte à avoir un xml par langue ?
Un peu difficile pour moi mais je tenterais de le faire, je l'ai deja fait pour le .css du header en fonction de la langue,
à plus tard :)
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
10 oct. 2008 à 18:54
J'aimerai savoir comment placer une image à la place du texte et du bouton , je n'y arrive pas , les données ne passent plus , si quelqu'un serait sympa pour me donner une solution, je l'ai en CSS mais je ne sais pas comment cacher le texte, merci d'avance :)
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
9 oct. 2008 à 20:53
resalut,
Désolé pour les multipostes ^^
Juste pour savoir s'il existe ou non d'éventuelles optimisations ou changement de code

merci d'avance ;)
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
30 sept. 2008 à 23:48
re- Oups je n'avais pas vu que le post datait un peu ^^, est ce qu'il y a eu de nouvelles modifications non publiées depuis tout ce temps ? car je vais me lancer sur un site en multilingue et je cherche un bon code pour me permettre d'y arriver correctement. ;)
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
30 sept. 2008 à 23:37
Oups je viens de trouver , il manque un espace après <![CDATA[ :)
cs_lanner Messages postés 131 Date d'inscription samedi 16 avril 2005 Statut Membre Dernière intervention 8 avril 2015
30 sept. 2008 à 23:29
Salut,

J'ai fait le test avec CDATA pour mettre du code html (j'ai beaucoup de liens d'images à placer) ,mais cela ne fonctionne pas , le site ne s'affiche même plus du tout, une solution ou une correction ?
merci :)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 juil. 2007 à 13:26
Hello,

<FRANCAIS>
<msg><![CDATA[Bonjour le monde]]></msg>
<notext><![CDATA[Pas de texte disponible]]></notext>
</FRANCAIS>

Il te suffit de mettre un CDATA dans le textnode.
De toutre manière, c'est un oubli de ma part parce que je n'en avais pas l'utilité à ce moment là,
mais il faut toujours mettre le CDDATA quand on jour avec du html ou du script.
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
30 juin 2007 à 23:29
salut malalam, moi j'aurai une question a te poser sur cette source quui est super dailleur je tiens a le dire ;)

jai reussi a integrer tous ca ... et ca marche niquel sur mon site mais j'ai tous de meme un question :

dans mon fichier locales.xml
j'ai par exemple ceci :

<FRANCAIS>
<msg>Bonjour le monde</msg>
<notext>Pas de texte disponible</notext>
</FRANCAIS>

Comment puis je faire pour que si jy ajoute beaucoup de textes imaginons 1000 caracteres. sur ces 1000 caracteres je voudrai y ajouter un texte en gras c'est a dire un texte comme cela
<msg>Bonjour le monde</msg>

Le bonjour en gras et le monde en standard.

de mon coté il m'indique une erreur php. car ce n'est plus considéré vraiment comme une balise html.
je ne connais pas tres bien le xml mais aurais tu une solution a me présenter ? pour que je puisse integrer des fonction comme des liens ou des forme italiques ou gras ?.

merci :)

bonne soirée a toi
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 oct. 2006 à 13:38
Hello,

utf8_decode ()
baseart Messages postés 1 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 26 octobre 2006
26 oct. 2006 à 13:25
salut à vous;
merci pour cet exemple multilangue Malaman.
j'ai eu des problèmes sous ie avec le , il semble quand POST ie ne le gère pas !! ^^
je l'ai résolu avec vos commentaires, c à dire 1 src + la fonction javascript qui fonctionne très bien sous ie et fireFox.
Mon problème, car j'en 1, et dont personne ne parle c les accents et les appostrophes en fr, héhé.
je suis que que tu as la solution Malaman, moi je suis newsbee alors je galère.
merci à toi
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
3 sept. 2006 à 14:08
Lu malalam et franco_se,

La je te conseil le sprintf(); ou bien fait une fontion pour remplacer dans ta chaine.

> ma_fonction($texte, $remplace1, $replace2 [,...]); et que ca remplace dans ta chaine : $1, $2, $[...].

Du genre :

function myReplace() {
$numargs = func_num_args();
$tabargs = func_get_args();

$return = $tabargs[0];

for( $i = 0 ; $i < $numargs ; $i++ ) {
$return = str_replace('$' . $i, $tabargs[$i], $return);
}

return $return;

}

echo myReplace('texte $1 et $2', '(remplace 1), '(remplace 2)');
franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 2
3 sept. 2006 à 11:56
par contre, j'ai une question sur l'utilisation de variables php ds le fichier xml.
en effet, dans mon code, j'utilisais un tableau $lang pour gérer mes variables langue.
J'ai donc une entrée du type
# $lang['hello'] = "bonjour ".$info_user['name'].". Votre derniere connection date du ".$info_user['last_connect']
etc etc
Or, si j'essaye de faire la meme chose ds le fichier xml, ça ne marche pas......

je debute ds l'utilisation du xml, et je ne sais pas si c'est possible ( il semblerais d'ailleurs que non ...)mais comment exploiter ces variables pour les entrer ds le xml, et les afficher correctement sur la page ?

merci
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 août 2006 à 13:00
Franco => Si. Lol. C'est d'ailleurs ce que j'ai fait sur une de mes classes localisée de cette manière :
ma classe de documentation de classes et de fonctions (sur ce site).
C'est effectivement plus simple pour les mises à jour, et les ajouts de langue, tout simplement.
En fait, un répertoire par langue, et dans chaque répertoire, un fichier XML par "type" de traduction (erreurs, documentation, Interface Utilisateur, etc...)
franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 2
26 août 2006 à 12:44
une petite question sur l'utilisation du fichier xml en lui-meme: ne serait-il pas plus pratique d'utiliser un fichier .xlm par langue, plutot que de toutes les centraliser sur un seul xml?
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 11:34
Oki, je verrai ce qui est dispo, merci! :)

@++

R@f
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 juin 2006 à 10:55
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 10:47
Oki, :D
Et sinon y'a des libs qui permettent de bidouiller les XML en PHP4 parce que mon hébergeur est encore en 4... ?

@++

R@f
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 juin 2006 à 10:45
Bah demande à un mec de modifier un fichier d'inclusion plein de variables php, et
mes fichiers xml...tu verras ce qui lui semble le plus simple ;-)
Quant au traitement, c'est TRES facile, surtout en php5.
Ca fait peur au début, mais en fait c'est très simple, le xml.
Je prépare un nouveau code, qui sera sur phpcs bientôt je pense (enfin me reste pas mal
de trucs à faire), et qui utilise beaucoup le xml. Tu verras, c'est pas si compliqué...
même si là, j'ai poussé le vice un peu plus loin lol.
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 10:39
Sur l'élégance et sur la portabilité, oki!
Par contre, sur la simplicité par rapport à une inclusion de variable, pas si sûr!

Vais me plonger dans le XML un de ces 4, :D

@++

R@f
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 juin 2006 à 10:33
Regarde ce code :
http://www.phpcs.com/codes/PHP5-CLASSE-DOCUMENTATION-CLASSES-FONCTIONS_35950.aspx
J'utilise une version plus poussée de cet exemple.
Pour la rapidité, faudrait tester. Mais franchement...je ne pense pas qu'on gagne ou perde beaucoup avec
une autre technique d'inclusion de variables php.
Simplement, c'est plus élégant de le faire en xml :-) Et c'est plus tourné vers l'avenir.
Et bon, donc, portabilité, facilité de mise en oeuvre, d'évolution...etc. C'est ce qui m'intéresse.
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 10:29
Mmmh, oki, merci! Vais regarder ça!

@++

R@f
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 juin 2006 à 10:26
Je ne sais pas.
Pour moi, y a plusieurs intérêts :
c'est portable, éventuellement si on doit adapter un code
à un autre langage, on peut garder les traductions telles quelles.
C'est rapide, parce qu'on fait juste un accès au xml, on ne se trimballe pas l'inclusion d'un
gros gros fichier de traduction en mémoire.
C'est très facile à faire évoluer, d'ajouter des langues, même si on n'est pas un développeur.
On peut voir de manière intuitive un flux XML avec un éditeur approprié, contrairement à un fichier de variables PHP
(intuitif pour un néophyte en php hein).
coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
13 juin 2006 à 09:39
Yop!
J'ai une tite question: par rapport à des fichiers langues contenant des tableaux avec toutes les chaînes, quel est l'intérêt de passer par du XML?
Au niveau rapidité c'est quoi le mieux?

Merci! :)

@++

R@f
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
18 janv. 2006 à 16:19
tiens ca m'arrange si tu pouvais faire le test chez toi:
10/24/05 12:15:37<-- [COM to APP] NEXT WALKING BEAM MOVEMENT (2101)
4
---------
NU_FUR= 4
WKB_STP=550
GAM_IND=0
ACT_USE=0

10/24/05 12:16:30<-- [COM to APP] NEXT WALKING BEAM MOVEMENT (2101)
4
---------
NU_FUR=4
WKB_STP=551
GAM_IND=0
ACT_USE=0

10/24/05 12:16:53--> [APP to COM] FURNACE #4 PLC MEASUREMENTS (2108)
9
---------
PDT_ID=5O1319100000
NU_FUR=67108864
NU_ROW=0
ABCS=2379
LAT_ABSS=951
PDT_LEN=5621
WIDTH=1559
PDT_THICKNESS=185
CHA_TMP=61

10/24/05 12:18:41--> [APP to COM] FURNACE #4 PLC MEASUREMENTS (2108)
9
---------
PDT_ID=5O1324100000
NU_FUR=67108864
NU_ROW=2
ABCS=2372
LAT_ABSS=6879
PDT_LEN=5613
WIDTH=1537
PDT_THICKNESS=185
CHA_TMP=61

ca c'est mon fichier txt....
et pr le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<head>
<script type="text/javascript">
/*function montre(id) {
var d = document.getElementById(id);
for (var i = 0; i<=10; i++)
{
if (document.getElementById('smenu'+i))
{document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}*/
</script>
</head>

<title>Lecture de fichier</title>
LECTURE DE FICHIER




<?php
$fp = fopen("DCS_traces.txt","r"); //ouverture du fichier DCS_trace.txt en lecture seule
$taille = fileSize("DCS_traces.txt"); //taille du fichier en octets
while(!feof($fp)) //Tant que l'on est pas a la fin du fichier
{
$msg = fgets($fp, 100);
echo"$msg
";
$nblignes = fgets($fp,3);
//echo"$nblignes";
$vide = fgets($fp,20);
//echo"$vide
";
$vide2 = fgets($fp,20);
//echo"$vide2
";
for($i=0;$i<$nblignes;$i++)
{
$buffer[$i] = fgets($fp,50);
}
$vide = fgets($fp,20);
?>


* voir les valeurs :
<?php
for($i =0;$i<$nblignes;$i++)
{
echo\"<li>$buffer[$i]</li>\";
}
?>




<?php

}
?>

</html>

je pense que tu verras mieux le pb et aussi ce que je veux faire...
merci bcp!
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 janv. 2006 à 11:27
J'y retourne voir... :-)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
18 janv. 2006 à 11:16
Lol
ouais je me suis permis d'aider un peu
apres tout faut rendre ce que l'on reçoit....

j'essaye a mon niveau de faire ça!

ps: en parlant d'aide mon script de lecture de fichier
ne passe tjrs pas ...:D
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 janv. 2006 à 09:30
Bon, c'est relativement facilement adaptable à php4 hein (mercu Latata de faire du debug sur ma source, lol).
Si j'ai le temps, je tâche de m'y mettre.
Il y a juste à modifier la fonction findLocale ().
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
18 janv. 2006 à 09:21
sinon tu peux surement trouver une autre solution qui ne necesiterait pas forcément php5
Portekoi Messages postés 19 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 13 janvier 2010
17 janv. 2006 à 22:24
Ah vi, j'avais pas fait attention désolé :(

Bon ben tanpis, à moins de faire une pétition à mon hébergeur, c'est pas gagné ^_^

Merci ;)
Portekoi Messages postés 19 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 13 janvier 2010
17 janv. 2006 à 22:08
Bonjour,

J'ai une erreur en local et chez mon hébergeur mutualisé sur simplexml_load_file()

Fatal error: Call to undefined function: simplexml_load_file() in c:\program files\easyphp1-8\www\locales\fct.php on line 6

Y a t il un équivalent à cette fonction?

Merci


Portekoi
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
10 janv. 2006 à 10:44
aie dur la...
un coup a 15? ca va mais 15? plus billet d'avions
ca commence a etre chero!!

mais jt avoue que ce serait avec plaisir si tétais sur paris.

Merci encore
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 janv. 2006 à 10:27
Je le veux bien lol, mais je suis dans le sud est moi, à Aix en Provence...
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
10 janv. 2006 à 10:25
ecoute ca a l'air de marcher en tout cas
ta premiere solution ...

moi c'est tout ce que je demande a mon niveau actuel
pour le coté optimisation et secu ce sera dans mes v2 etc....

je te remercie vivement
t'es mon dieu!!!

jte paierais bien un coup si tu le voulais....
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
10 janv. 2006 à 10:21
et en plus il manquait un ?>
ecoute je test ca de suite...
j'espere que c'est ca, jte tiens au courant ds les minutes qui suivent...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 janv. 2006 à 10:13
En fait y a une solution plus simple, en rajoutant encore un champ hidden au formulaire, par exemple avec
le nom "act".
Sur tes images (tes drapeaux), tu appelles la fon,ction setLoc en lui passant la même chose.
Mais dans cette fonction, tu ajoutes ça :
f.elements['act'].value = 1;

et dans le check des POST, tu l'effectues uniquement si $_POST['act'] == 1.
Mais bon ça ne change pas grand chose, il vaut mieux trouver un truc sûr pour vérifiuer qu'on remplit bien la session
avec la valeur d'un des 3 champs de localisation, et pas avec celle d'un autre champ. Mon code est à revoir dans ce sens, là il est
franchement tordu et pas très sécuritaire.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 janv. 2006 à 10:09
$_GLOBALS est à éviter.

Et ça va bien merci, bcp de taf encore :-(
Et toi ?

Pour ce problème, je t'avoue que pour le moment, je sèche...
Si c'est uniquement cette variable de session qui disparait, celle utilisée, c'est que cela a quelquechose à voir
avec les fonctions qui la gèrent.
Le problème c'est que dans ces fonctions, la variable de session n'est jamais écrasée...ou alors, par elle-même...SAUF
dans la dernière partie...et là, je sais!!
<?php
if (!empty ($_POST)) {
$_SESSION['locale'] = array_search (1, $_POST);
}
si cette partie, avec le formulaire, est incluse dans cette page, c'est normal!! Parce que tu soumets ton formulaire là (les 3 trucs lol);
donc $_POST est rempli.
Il cherche la valeur 1 dans un de ces post, et s'il en trouve une, rempli la session avec la clef de ce post.

Le problème est sûrement là...
remplace ce bloc par ceci :
<?php
if (!empty ($_POST['ENGLISH']) || !empty ($_POST['FRANCAIS']) || !empty ($_POST['CHINESE'])) {
$tabLocale array ('ENGLISH'> 0, 'FRANCAIS' => 0, 'CHINESE' => 0);
foreach ($tabLocale as $langue => $dump) {
if (isset ($_POST[$langue])) {
$tabLocale[$langue] = $_POST[$langue];
}
}
$_SESSION['locale'] = array_search (1, $tabLocale);
}

C'est tordu, on doit pouvoir fdaire plus simple, mais dans la précipitation je ne trouve pas mieux (j'ai guère de temps suis désolé).
Le principe est de vérifier qu'on remplit bien la session avec le bon post.
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
10 janv. 2006 à 10:00
si tu me sors de ce guepier
je sais pas ce que jte fais mais je veux bien
faire ce que tu veux!!!
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
10 janv. 2006 à 09:42
ouais mais mon pc il me fait pas rire
je peux rien faire avec....

<?php
function findlocale ($loc '', $block 'notext') { // fonction allant chercher la traduction d'un bloc donné dans le fichier xml de localisation.
// Prend en paramètre la locale à utiliser, et l'élément contenant le texte.
//L'élément a pour le nom l'ID du block où on va afficher le texte
if ($loc === '') { // si loc n'existe pas
$loc = $_SESSION['locale']; // on lui assigne la variable de session
}
$doc = simplexml_load_file ('locales.xml'); // on charge le fichier de localisation
$resultat = $doc ->xpath ($loc.'/'.$block); // on va chercher le noeud correct
if (!empty ($resultat)) { // si le tableau n'est pas vide, il y a un texte
foreach ($resultat as $noeud) {
return $noeud; // on renvoie ce texte
}
}
else {
$resultat = $doc ->xpath ($loc.'/notext'); // sinon on va chercher le message d'erreur
foreach ($resultat as $noeud) {
return $noeud;
}
}
}
?>


<?php
session_start ();
function checklocale () { // fonction pour tenter de déterminer la locale utilisée par le système client (non garantie)
$locale = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if (substr ($locale, 0, 2) === 'fr') {
return 'FRANCAIS';
}
if (substr ($locale, 0, 2) === 'en') {
return 'ENGLISH';
}
return false;
}
if (!isset ($_SESSION['locale'])) {
if (false !($check checklocale ())) {
$_SESSION['locale'] = $check;
}
else {
$_SESSION['locale'] = 'FRANCAIS'; // on met une locale par défaut dans une variable de session
}
}
?>
<!-- Formulaire pour le choix des locales -->
<form method="post" action="" id="locales">



</form>
<script type="text/javascript">
function setLoc (nom) {
f = document.getElementById('locales');
f.elements[nom].value = 1;
f.submit ();
}
</script>
<?php
if (!empty ($_POST)) {
$_SESSION['locale'] = array_search (1, $_POST);
}


voila ce qu'il en est....
sinon un ami m'a peut etre conseiller une solution
au lieu de mettre french ou english ds une variable de session de mettre ds $_GLOBAL

j'ai jamais utilisé mais peut etre est ce l'occasion....

et sinon Bonjour,j'espere que tu vas bien ce matin!
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 janv. 2006 à 09:27
Je pense que ça n'a rien à voir, je pense que ça vient des fonctions checkLocale, ou findLocale.
Remets les moi ici, telles qu'elles sont maintenant. (pour ton pc, je plaisantais hein lol)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
10 janv. 2006 à 09:13
tu penses que si je refais mon affichage ca ira mieux ou ca na vraiment rien a voir...
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 18:41
mon pc?pourquoi
oui c'est une merde mais bon quel rapport

en tout cas je vois pas le probleme et je craque
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 18:11
Désolé j'ai pas bcp de temps ce soir...

J'avoue que je ne sais pas trop.
Le problème doit alors venir des fonctions checkLocale ou findLocale. Sinon il ne focalisera pas arbitrairement sur
la variable de session utilisée...ton pc ne doit pas être doté d'ujne intelligence maligne, quand même ;-)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 16:50
j'ai cherché sur d'autres forums et je trouve personne qui ai eu le meme pb

ca me rend fou
ca gache tout...
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 16:02
j'ai rechanger le langue en locale comme au debut et j'avais raison now
c'est le locale qui devient vide a nouveau
c'est incroyable...
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 15:23
en fait si j'avais remis locale ala place de langue
ce serait locale qui serait devenu vide
j'en suis a peu pres sur....
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 15:09
non c'est bon j'ai "effacer" la session et il n'y a plus de locale
par contre il vide toujours langue
meme si je mets autre chose apres (keep)
je craaaaaaaaaque
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 15:05
Heu...
le truc juste en haut, tu as localke, mais pas langue, ok ? Bon ben garde ta session telle quelle, et remets le code à la normale, : utilise locale, au lieu de langue...
Mais c'est biuzarre
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 14:57
j'ai fait un destroy session pr effacer le locale

et apres test il me garde le keep
mais me vide langue
c'est incroyable ca!!!
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 14:44
c'est incompréhensible
j'ai remplacé partout locale pr langue
et la il me mets ca :
Array ( [authentification] => [privilege] => admin [nom] => tata [equipe] => xavier [login] => xavier [pass] => 268fb4595b079e19467c8feee67a856a [locale] => FRANCAIS [langue] => [keep] => 1 )

sachant que c'est langue qui est vide j'ai encore mon formulaire vide...
comment ca se fait qu'il me parle encore de locale?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 14:28
Bon ben avant connexion, en attendant de trouver pourquoi il fait ça, ajoute une entrée factice à ta session (genre $_SESSION['keep'] = 1;
Et tu conserves la structure comme avant sinon, pour la localisation.
Il va vider le KEEP, mais tu auras toujours ton locale.
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 14:15
je sais pas ce qu'il vire
on dirait que oui il vire le dernier
mais pourquoi?
je ne fais rien si ce n'est une connexion via socket...
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 14:12
echo $valeur = ($update === true)?$nouvelle_valeur:(isset ($_POST['champ']))?$_POST['champ']:$valeur_par_defaut;

pour l'affichage de toute facon c'est peut etre aps le mieux
mais ca passe ...je verrais un meilleur affichage qd je pourrais
la traduction est plus importante pour le moment...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 14:11
Oui mais il a gardé locale...bizarre, il vire le dernier index de ta session...?
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 14:07
la meme chose:
Array ( [authentification] => [privilege] => admin [nom] => tata [equipe] => xavier [login] => xavier [pass] => 268fb4595b079e19467c8feee67a856a [locale] => FRANCAIS [langue] => )

il ne garde pas la langue :(
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 13:59
Pour ton affichage, un truc du genre :

echo $valeur ($update true)?$nouvelle_valeur:(isset ($_POST['champ']))?$_POST['champ']:$valeur_par_defaut;
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 13:53
Alors là c'est très curieux, il garde tout, sauf le locale ... ?
Change de nom, ne mets pas locale, mais autre chose (langue, localisation, vce que tu veux. Mais faut le changer partout hein).
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 13:52
Ben faut croire que la session est perdue lors de ta connexion par socket au programme C.
Il te sert à quoi exactement ce programme...?
Il te renvoie tes post ? Je veux dire, un print_r ($_POST) après passage dans ce programme C, te donne bien tes $_POST ?
Une solution tortueuse est de créer dans ton formulaire un champ hidden, avec ta session dedans...

par exemple : " />

et après passage dans ton programme, tu fais :
$_SESSION['locale'] = unserialize (base64_decode($_POST['session']));
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 13:48
ca donne ca:
Array ( [authentification] => [privilege] => admin [nom] => tata [equipe] => xavier [login] => xavier [pass] => 268fb4595b079e19467c8feee67a856a [locale] => FRANCAIS )

et apres ma connexion ca:
Array ( [authentification] => [privilege] => admin [nom] => tata [equipe] => xavier [login] => xavier [pass] => 268fb4595b079e19467c8feee67a856a [locale] => )
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 13:33
je viens de mettre les print_r
alors il me met bien en francais lors du premier appel de la page(affichage normal)
et apres connexion socket il m'affiche array[locale]=>
et rien ya plus ecrit francais!!!!
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 13:26
en fait j'ai un formulaire avec des valeurs a envoyer
mon programme C les lit puis il les valide ou pas
et me renvoi un code UPDATE OK ou NON
si le code est OK je réaffiche mon tableau et formulaire avec
les nouvelles valeurs sinon je réaffiche els anciennes.
je ne vois pas comment faire autre ment que 3affichages du coup...
(un lors de l'appel de la page,un si les valeurs envoyées sont correctes et
un si c'est pas correct)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 12:15
Non t'es pas obligé de faire ça comme ça.
Je pige pas bien à cause du manque d'indentations ici...
mais 1 formulaire suffit. Au pire, tu testes à l'affichage de la valeur, ce que tu veux, et affiche en conséquence.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 janv. 2006 à 12:03
Est-ce que cette vérification avec le programme C fonctionne bien, elle ? Si tu vires la localisation par exemple ?
Et si tu fais un print_r ($_SESSION) avant le formulaire, et une fois avant le traitement, une fois après ?
Qu'obtiens-tu ?
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 12:00
re,
deja j'ai une petite question suis je obligé de procéder comme ca?
car du coup ca me fais un script 3fois plus long
n'y a t'il pas un astuce pour réafficher mon formulaire?

en tout cas je ne comprends pas pourquoi apres la validation,les echo du xml ne se font plus
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
9 janv. 2006 à 11:22
Salut malalam,

je viens de refaire mon site avec traduction possible
et ca cartonne ca marche bien
par contre j'ai rencontré un gros probleme dans mon cas...
voila lors de l'envoi de certaines données via un formulaire
j'établis une connexion socket avec un programme écrit en C
j'attends la réponse et si c'est bon je réaffiche mon formulaire avec les valeurs postées sinon j'affiche le formulaire de base avec un message d'erreur
mon probleme est que mon site s'affiche bien dans lalangue voulue de base mais des que je valide mon formulaire et donc apres connexion socket
tous mes echo findlocale n'affiche plus rien
mon formulaire est vide ....
Je capte pas pourquoi?
je te passe le code peut etre saura tu encore une fois m'aider!

<?php require_once('connect_mysql.php');
require_once('cod_para.php');?>
<?php
$requete = sprintf("SELECT * FROM pacing_tuning WHERE id=1");
mysql_select_db($database, $dbconnect);
$result = mysql_query($requete, $dbconnect) or die(mysql_error());
$i = 0;
while ($retour = mysql_fetch_array($result) )//recupere les lignes de la réponse sql dans un tableau
{
$tablo1[$i] = $retour[1];
$tablo2[$i] = $retour[2];
$tablo3[$i] = $retour[3];
$tablo4[$i] = $retour[4];
$tablo5[$i] = $retour[5];
$tablo6[$i] = $retour[6];
$tablo7[$i] = $retour[7];
$i = $i+1;
}
// Libération des ressources prises par le fetch_array
mysql_free_result($result);
/******************************************************************************************************************************/
if(isset($_POST["bouton"]) && $_POST["bouton"] == "VALID")
{
//on vérifie si la case a été cochée si non on met la valeur a 0
if (!isset ($_POST['notice_delay']) || empty($_POST['notice_delay']))
$_POST['notice_delay'] = '0';

mysql_query("DROP TABLE pacing2")or die("Erreur :".mysql_error());
mysql_query("CREATE TABLE pacing2(
id SMALLINT NOT NULL AUTO_INCREMENT ,
speed FLOAT NOT NULL ,
record FLOAT NOT NULL ,
tolerance FLOAT NOT NULL ,
reponse FLOAT NOT NULL ,
maxtime_adv FLOAT NOT NULL ,
maxtime_dis FLOAT NOT NULL ,
duration_delay FLOAT NOT NULL ,
notice INT NOT NULL ,
INDEX ( id )
)")or die("Erreur :".mysql_error());
mysql_query ("INSERT INTO pacing2 VALUES('',".$_POST['speed'].",".$_POST['nb_record'].",".$_POST['tolerance'].",".$_POST['reponse'].",".$_POST['maxtime_adv'].",".$_POST['maxtime_dis'].",".$_POST['duration_delay'].",".$_POST['notice_delay'].")")or die("Erreur".mysql_error());
mysql_close();
/*********************************ENVOI MESSAGE AU HOT*****************************************/
$code= $COD_PAC_VLD; // 140 Valid pacing data;
$nom_table= "pacing2";
$idSocket = fSockOpen($serveur, $port, $codeErreur, $msgErreur);
if (!$idSocket)
{
echo "Message d'erreur: $msgErreur
";
die();
}
else{
// echo"connexion établie
";
}
// Configuration de la connexion en mode bloquant et avec un timeout de 5
socket_set_blocking($idSocket, TRUE);
socket_set_timeout($idSocket, 5);
$message = "$code/$nom_table/$hostname/";
// Envoi de données au serveur
$envoi = fputs($idSocket, $message);
if (!$envoi) {
echo "L envoi du message a échoué.
";
die();
}else
{
// echo"message envoyé
";
}
$reponse = fgets($idSocket, 10);
fclose($idSocket);
//echo"$reponse
";
if($reponse == "UPDATE OK")
{
?>
<form method="POST" action="http://localhost/index.php?page=4">
<?php echo findLocale ($_SESSION['locale'], 'titre5');?>

----

<?php echo findLocale ($_SESSION['locale'], 'speedmes');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'nbrecords');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'tolerance');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'reponse');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'maxtime_adv');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'maxtime_dis');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'duration');?>,
<?php echo' , ';?>

<?php echo findLocale ($_SESSION['locale'], 'forcing');?>
<?php echo findLocale ($_SESSION['locale'], 'notice');?>




</form>
<?php
}
else {
?> <?php echo findLocale ($_SESSION['locale'], 'msgerr');?>
<form method="POST" action="http://localhost/index.php?page=4">
<?php echo findLocale ($_SESSION['locale'], 'titre5');?>

----

<?php echo findLocale ($_SESSION['locale'], 'speedmes');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'nbrecords');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'tolerance');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'reponse');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'maxtime_adv');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'maxtime_dis');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'duration');?>,
<?php echo' , ';?>

<?php echo findLocale ($_SESSION['locale'], 'forcing');?>
<?php echo findLocale ($_SESSION['locale'], 'notice');?>




</form>
<?php }
}else
{
?>
<form method="POST" action="http://localhost/index.php?page=4">
<?php echo findLocale ($_SESSION['locale'], 'titre5');?>

----

<?php echo findLocale ($_SESSION['locale'], 'speedmes');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'nbrecords');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'tolerance');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'reponse');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'maxtime_adv');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'maxtime_dis');?>,
<?php echo' , ';?>

----

<?php echo findLocale ($_SESSION['locale'], 'duration');?>,
<?php echo' , ';?>

<?php echo findLocale ($_SESSION['locale'], 'forcing');?>
<?php echo findLocale ($_SESSION['locale'], 'notice');?>




</form>
<?php
}
?>

cette page est appelé depuis mon index.php qui inclut cette page...

merci de bien vouloir te pencher sur mon cas
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 janv. 2006 à 17:13
Ah ben ton html aussi doit avoir un encoding, oui!
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
6 janv. 2006 à 17:02
je crois avoir trouver j'ai rajouter ca en dessous de mo <html>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">

et les accents passent apparement ...
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
6 janv. 2006 à 16:49
ouais j'ai vu sur le site yahoo chinois que pr eux c UTF8 quelque chose comme ca
mais du coup je peux plus utiliser mon fr et anglais?

ou sinon il me faut deux fichiers xml???
et pr le coup des accents en fr tu sais quel encoding il faut?
actuellement j'ai encoding="iso-8859-1"
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 janv. 2006 à 16:28
Ouais, ça dépend de l'encoding. Toujours :-)

http://www.w3schools.com/xml/xml_encoding.asp
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
6 janv. 2006 à 16:20
rebonjour,
pas le temps de voir le truc des sessions je verrais ca apres....

petite question sur la traduction:
dans le fichier xml comment mettre les accents?
si je mets é il bug et si je mets &eacuate il bug aussi
aussi est ce possible du coup d emettre des trucs comme °
et je veux mettre du chinois
pense tu que c'est possible de mettre les caractéres spéciaux???

pleins de questions que pr toi :D
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 17:04
Ouf... !! ;-)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 17:04
c'est OK
c'était bien ca le probleme
fallait laisser le formulaire caché dans haut.php

merci beaucoup !!!!
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 16:57
excuse moi en fait haut je l'ai changer:
<?php
session_start ();
function checkLocale () { // fonction pour tenter de déterminer la langue utilisée par le système client (non garantie)
$locale = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if (substr ($locale, 0, 2) === 'fr') {
return 'FRANCAIS';
}
if (substr ($locale, 0, 2) === 'en') {
return 'ENGLISH';
}
return false;
}
if (!isset ($_SESSION['locale'])) {
if (false !($check checkLocale ())) {
$_SESSION['locale'] = $check;
}
else {
$_SESSION['locale'] = 'FRANCAIS'; // on met une langue par défaut dans une variable de session
}
}
?>

en fait je l'ai couper en deux....
pr avoir le formulaire sur ma page principale :index
c'est pas bon?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 16:55
Non je dis des conneries :-)

Tu dois remplacer, dans haut.php, cette partie :
# <!-- Formulaire pour le choix des langues -->
# <form method="post" action="">
#
#
#
# </form>
# <?php
# // on vérifie le choix de la langue dans le formulaire, et on assigne la valeur correcte à la variable de session
# if (isset ($_POST['langue'])) {
# $_SESSION['locale'] = $_POST['langue'];
# }
# ?>

par ce que je t'ai filé, ok ? SANS tes images. Tu laisses tes images où elles sont, tu laisses aussi
le js.
Tu laisses donc l'inclusion de haut.php.
Il faut juste remplacer le formulaire par le formulaire en hidden, et le test sur l'existence du post par celui que je t'ai filé.
A priori...ça devrait marcher...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 16:50
Je ne pige pas, pourquoi as-tu inclus haut.php alors que tu remets le formulaire et sa validation dans index.php ?
A la limite, vire haut.php.
et remonte en haut de ton index, apres le session_start(), ça :
if (!empty ($_POST)) {
$_SESSION['locale'] = array_search (1, $_POST);
}
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 16:39
Bon ca risque d'etre un peu le bordel
tes fichiers haut et fct sont les memes
ca marche que si on clique en deux fois ....

xml:
<?xml version= "1.0" encoding="iso-8859-1"?>
<Locales>
<ENGLISH>
<titre1>HMI of the system HOT</titre1>
<sstitre1>add user</sstitre1>
<notext>No text available</notext>
</ENGLISH>
<FRANCAIS>
<titre1>Interface graphique du systeme HOT</titre1>
<sstitre1>ajouter un utilisateur</sstitre1>
<notext>Pas de texte disponible</notext>
</FRANCAIS>
<CHINESE>
<titre1>ONGBAKUYA hiuty HOT</titre1>
<sstitre1>alligato</sstitre1>
<notext>Ching Chong Chang</notext>
</CHINESE>
</Locales>

index.php:
<?php
require_once('connexion.php');
require_once('connect_mysql.php');
require_once('cod_para.php');
require_once ('haut.php');
require_once ('fct.php');?>
<?php
//session_start(); // On relaye la session
if (session_is_registered("authentification")){ // vérification sur la session authentification (la session est elle enregistrée ?)
// ici les éventuelles actions en cas de réussite de la connexion
}
else {
header("Location:index_00.php?erreur=intru"); // redirection en cas d'echec
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<link rel="stylesheet" type="text/css" href="index_style.css" />
<script type="text/javascript">
function montre(id) {
var d = document.getElementById(id);
for (var i = 0; i<=10; i++)
{
if (document.getElementById('smenu'+i))
{document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
/***************************************************************************************/
function affiche_alarm() {
var xhr_object = null;

if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}

xhr_object.open("POST", "last_alarm.php", true);

xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4)
document.getElementById("last_alarm").innerHTML ="Last Alarm :"+xhr_object.responseText;
//alert(xhr_object.responseText);
}
xhr_object.send(null);
}
affiche_alarm();
setInterval("affiche_alarm()",3000);
/************************************************************************************************/
document.onkeypress = function (evt) {
var r = '';
if (document.all) {
r += event.ctrlKey ? 'Ctrl-' : '';
r += event.altKey ? 'Alt-' : '';
r += event.shiftKey ? 'Shift-' : '';
r += event.keyCode;
}
else if (document.getElementById) {
r += evt.ctrlKey ? 'Ctrl-' : '';
r += evt.altKey ? 'Alt-' : '';
r += evt.shiftKey ? 'Shift-' : '';
r += evt.charCode;
}
else if (document.layers) {
r += evt.modifiers & Event.CONTROL_MASK ? 'Ctrl-' : '';
r += evt.modifiers & Event.ALT_MASK ? 'Alt-' : '';
r += evt.modifiers & Event.SHIFT_MASK ? 'Shift-' : '';
r += evt.which;
}
// alert(r);
if (r == 'Ctrl-Shift-65'){ // c'est 'A' sous Firefox
document.location.href="http://localhost/index.php?page=29";//A pour liste alarm
}
if (r == 'Ctrl-Shift-77'){ // c'est 'M' sous Firefox
document.location.href="http://localhost/index.php?page=0";//M pour main
}
if (r == 'Ctrl-Shift-84'){ // c'est 'T' sous Firefox
document.location.href="http://localhost/index.php?page=1";//T pour type
}
if (r == 'Ctrl-Shift-83'){ // c'est 'S' sous Firefox
document.location.href="http://localhost/index.php?page=5";//s pour simulation
}
if (r == 'Ctrl-Shift-71'){ // c'est 'G' sous Firefox
document.location.href="http://localhost/index.php?page=3";//G pr thermal tuning
}
if (r == 'Ctrl-Shift-80'){ // c'est 'P' sous Firefox
document.location.href="http://localhost/index.php?page=4";//P pour pacing
}
if (r == 'Ctrl-Shift-'){ // c'est '' sous Firefox
document.location.href="http://localhost/index.php?page=5";// pr shift
}
if (r == 'Ctrl-Shift-68'){ // c'est 'D' sous Firefox
document.location.href="http://localhost/index.php?page=6";//D pour diagramm thermique
}
if (r == 'Ctrl-Shift-87'){ // c'est '' sous Firefox
document.location.href="http://localhost/index.php?page=7";// pour furnace view
}
if (r == 'Ctrl-Shift-73'){ // c'est 'I' sous Firefox
document.location.href="http://localhost/index.php?page=11";//I pour setpoint tuning
}
if (r == 'Ctrl-Shift-69'){ // c'est 'E' sous Firefox
document.location.href="http://localhost/index.php?page=12";//E pour delay tuning
}
if (r == 'Ctrl-Shift-76'){ // c'est 'L' sous Firefox
document.location.href="http://localhost/index.php?page=16";//L pour delay declaration
}
if (r == 'Ctrl-Shift-79'){ // c'est 'O' sous Firefox
document.location.href="http://localhost/index.php?page=19";//O pr optimzation parameters
}
if (r == 'Ctrl-Shift-66'){ // c'est 'B' sous Firefox
document.location.href="http://localhost/index.php?page=22";//B pour fuzzy stable
}
if (r == 'Ctrl-Shift-78'){ // c'est 'N' sous Firefox
document.location.href="http://localhost/index.php?page=23";//N pour fuzzy transient
}
if (r == 'Ctrl-Shift-85'){ // c'est 'U' sous Firefox
document.location.href="http://localhost/index.php?page=25";//U pour fuzzy result
}
if (r == 'Ctrl-Shift-89'){ // c'est 'Y' sous Firefox
document.location.href="http://localhost/index.php?page=24";//Y pour fuzzy offset
}
if (r == 'Ctrl-Shift-72'){ // c'est 'H' sous Firefox
document.location.href="http://localhost/index.php?page=27";//H pr history
}
if (r == 'Ctrl-Shift-75'){ // c'est 'K' sous Firefox
document.location.href="http://localhost/index.php?page=28";//mesures
}
return true;

}
</script>
</head>

<title>Stein-Heurtey Production</title>
PRODUCTION







* : Main

<li>[admin.php ';
echo findLocale ($_SESSION['locale'], 'sstitre1');?>
]



Choose your language :

<!-- Formulaire pour le choix des langues-->





<!-- Formulaire pour le choix des langues -->
<form method ="post" action="" id="locales">



</form>
<script type="text/javascript">
function setLoc (nom) {
f = document.getElementById('locales');
f.elements[nom].value = 1;
f.submit ();
}
</script>
<?php
if (!empty ($_POST)) {
$_SESSION['locale'] = array_search (1, $_POST);
}
break;
case 1 : include ("type.php");break;
case 2 : include("shift_tuning.php");break;
case 3 : include ("thermal_tuning.php"); break;
case 4 : include("pacing_tuning.php");break;
case 5 : include("simulation.php");break;
case 6 : include ("courbes_histo_2.php"); break;
case 7 : include("furnace_view0.php"); break;
case 8 : include("call_test_jpgraph.php");break;
case 9 : echo "en cours de construction";break;
case 10 : echo "en cours de construction";break;
case 11 : include ("spt_prod.php");break;
case 12 : include ("delays_tuning.php");break;
case 13 : echo "en cours de construction";break;
case 14 : echo "en cours de construction";break;
case 15 : echo "en cours de construction";break;
case 16 : include ("delay_declaration.php"); break;
case 17 : echo "en cours de construction";break;
case 18 : echo "en cours de construction";break;
case 19 : include("optim_param.php");break;
case 20 : include("pid_tuning.php");break;
case 21 : echo "en cours de construction";break;
case 22 : if($_SESSION['privilege'] == "admin")
{include("fuzzy_stable.php");}else echo"Sorry,you are not authorized to see this page";break;
case 23: if($_SESSION['privilege'] == "admin")
{include("fuzzy_transient.php");}else echo"Sorry,you are not authorized to see this page";break;
case 24 : if($_SESSION['privilege'] == "admin")
{include("fuzzy_offset.php");}else echo"Sorry,you are not authorized to see this page";break;
case 25 : if($_SESSION['privilege'] == "admin")
{include("fuzzy_results.php");}else echo"Sorry,you are not authorized to see this page";break;
case 26 : echo "en cours de construction";break;
case 27 : include ("history.php");break;
case 28 : include ("measure.php");break;
case 29 : include ("alarm.php");break;
//case 30 : include ("mesures_call.php");break;
//echo '';break;

}
?>




<!--
Copyright@X2theZ

-->

</html>
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 16:28
Oui je le veux :-)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 16:01
et bien c'est vrai

heu...par contre j'ai comme un soucis sur mon site
je fais le test avec juste le titre principal de la premiere page et le sous titre

ca marche ...........presque!
en fait le changement s'effectue si je clique deux fois sur mon drapeau(pas double clik)
vraiment deux clicks distincts!?!

au deuxiéme la page se recharge avec la traduction.
tu vois pourquoi? peut etre tu veux voir mon code?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 15:02
Lol c'est très gentil, merci :-)(fais gaffe, je PEUX vérifier si c'est vrai, hein... ;-) )
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 14:48
j'ai mis un petit dix tu le mérites bien....
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 14:27
ca a l'air de marcher sur la petite page perso que je me suis faite

je vais essayer de faire mon xml sur mon site entier
jte remercie vivement

a bientot tres certainement ;)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 13:51
Ok merci pour ma culture générale ;-)

Ouais, pour le bouton rouge, c'est vrai...mais je suis un flemmard.

Et oui, ça arrive. mais généralement, suffit de revenir en effet, sans raffraichir la page, le post est 'posté'généralement.
Mais en même temps, je m'en fous hein lol, c'était juste pour le plaisir de râler ;-)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 13:41
LOL
écoute désolé pr les double POST
parfois ca passe pas et je me retrouve sur une page qui me dit probleme avec un lien pr revenir page précédente....
en meme temps t'a juste a cliquer sur le bouton rouge?

un daron c'est a l'origine un papa
etd e maniere detourné ca veut dire un gars qui maitrise...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 13:33
Tu me donnes du taf avec tes post doublés, triplés etc... ;-)

heu...c'est quoi un daron...? (c'est que moi, le langage des djeun's, à mon âge avancé, j'y comprends plus grand chose !)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 13:29
Super
je vais tester de suite
en plus ca me montre un exmeple concret des type hidden car j'avoue que je ne comprennais pas leur utilisations...
t'es vraiment un daron!!!
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 12:36
Par exemple :





<!-- Formulaire pour le choix des langues -->
<form method="post" action="" id="locales">



</form>

<script type="text/javascript">
function setLoc (nom) {
f = document.getElementById('locales');
f.elements[nom].value = 1;
f.submit ();
}
</script>
<?php
if (!empty ($_POST)) {
$_SESSION['locale'] = array_search (1, $_POST);
}
?>
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 11:58
En fait je viens de m'apercevoir
que si j'utilise des images
ca change tout le principe du :
<?php
// on vérifie le choix de la langue dans le formulaire, et on assigne la valeur correcte à la variable de session
if (isset ($_POST['langue'])) {
$_SESSION['locale'] = $_POST['langue'];
}
?>

faut faire comment? genre un truc onclick???
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 11:46
Bon courage :-)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 11:38
ouais je vais faire des tests
deja faut que je trouve des petits drapeaux sur le net

jte fais un bisou et si j'ai des soucis jte recontacte

MERCI
VIVE LA COMMUNAUTE!!!!
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 11:21
Il suffit de n'utiliser haut.php quand sur ta 1ère page. Par contre, initialise ta session sur toutes tes pages (enfin, inclus une page l'initialisant). Je ne sais pas comment est construit ton site donc difficile de bien t'aider. Disons que la localisation est de toutes façons relayée sur tout le site via la session.
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 11:11
moi je pense pouvoir utiliser un fichier simple
car mon site ne contient pas de texte
ce serait juste pr les menus quelques titres
et quelques lignes parci parla du genre pour
des messages d'erreurs etc....

je pense que un fichier simple suffira

par contre comme je disais plus haut si j'inclues a chaque fois les deux .php
j'aurais sur chaque page les boutons pr choisir les langues?
je prefererais sur la premiere...
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 10:56
c'est bon suis bete notext ca marche qd ya pas de texte LOL
j'ai un peu honte sur le coup ...

par contre si j'utilise un systeme avec des drapeaux
toi tes includes,tu dis de les faire ds chaque page ce qui veut dire
que mes drapeuax seront sur chaque page
moi je les voudrais que lors de la premiere page et que ca se relaye sur tout le site!
c'est possible?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 janv. 2006 à 10:55
- notext et erreur : en fait, l'id du div dans ce cas n'est pas important. J'ai mis erreur pour indiquer qu'on est dans un cas d'erreur : l'id du div n'est pas présent dans le fichier XML. Donc, on renvoi un texte par défaut, celui du noeud 'notext'. On aurait pu mettre n'importe quel id.

- plusieurs pages : dans haut.php tu as le petit formulaire, et l'initialisation de la session. Dans fct.php, tu as la fonction de recherche du fichier xml. Là je n'ai mis qu'un index.php. Mais n'importe quelle page incluant ces 2 'fonctionnalités' marchera.
Maintenant, il y a un choix à faire : 1 seul fichier XML global pour tout ton site (ok pour un petit site), c'est l'exemple ici. Ou un fichier XML par page/module de ton site (l'unité de base est à choisir). Cette dernière solution est préférable, à mon sens. Ce que je ferais moi : chaque 'module' de mon site a un nom : accueilMod par exemple. Dans un dossier 'xmlLocales', j'ai notamment le fichier accueilMod.xml, qui correspond à la localisation pour ce module (le module pouvant courir sur plusieurs pages). Dans ma fonction de recherche, je passe le nom du module en plus du reste. ainsi, la fonction ira parser le bon fichier XML. Ce module, tu peux le passer en dur, ou le passer en session, etc...il y a tout un tas de possibilités.
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
4 janv. 2006 à 10:32
c'est cool ca marche

je peux enfin me pencher sur le vrai probleme a savoir:la traduction de mon site

j'ai tester ton script et il marche bien
ce que je comprends pas c'est quand tu fais un div id=erreur
et que ca affiche notext? l'id du div ne devrait pas etre notext?
et comment tu fais pour qu'il marche sur plusieurs pages ?

encore merci pr hier en tt cas!!!
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 17:22
je crois bien que c'est ca le pb
je dois tracer
je fais des tests demain
merci pour tout
je t'm :D
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 17:18
;PHPExt
;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_crack.dll
;extension=php_curl.dll
;extension=php_db.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
;extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
extension=php_mysql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_printer.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xslt.dll
;extension=php_yaz.dll
extension=php_zip.dll
;/PHPExt

ca c'est ma liste
faut que je vérifie encore et fasse des tests mais je crois que ca marche
a peu pres ya juste un pb avec une page qui utilise la librairie JpGraph
peut etre faut que j'upgrade jpgraph a une version fonctionnant sous PHP5
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 16:36
Tu bosses sous windows ?

Voici la liste de mes extensions, regarde si tu as cette liste dans ton php.ini.
Celles avec un ; devant sont les lignes commentées.Pour les charger, il suffit :
- d'enlever le ;
- de sauvegarder le php.ini
- de relancer le serveur Apache

;Windows Extensions
;Note that ODBC support is built in, so no dll is needed for it.
;
extension=php_mbstring.dll
;extension=php_bz2.dll
;extension=php_cpdf.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
extension=php_mssql.dll
;extension=php_msql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
extension=php_pdo.dll
extension=php_pdo_sqlite.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_sqlite.dll
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 16:35
ok a priori rien a voir avec mysql c'est juste que le path pr les extensions n'était plus correct

apparement ca marche mais au lancement de easyphp il me mets encore des messages bizarres
et ne trouve pas le php_zip qui pourtant est dans le bon dossier...
enfin je vais faire des tests mais vivement eaysphp v2
car la ca me parait risqué sinon je vais passer a wamp...
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 16:27
en gros il ne trouve plus les extensions php_gd2.dll
php_sockets.dll
php_zip.dll

je suis perdu
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 16:26
ouais mais alors la truc bizarre cette ligne la n'y est meme pas
donc je l'ai rajouter
et ca ne change rien, de plus lorsque je lance easyphp il me mets pleins de message d'erreurs...

je craque !!!
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 16:06
C'est dans le dossier 'apache'. Tu as php.ini tout court.
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 16:02
ouais on le trouve ou celui la
moi ds mon sous dossier php j'ai php.ini-dis etphp.ini-recommended???

je pense que l'install est bonne ca doit juste etre un probleme de version de mysql
peut etre ; car j'ai vérifier et oui la fonction mysqlconnect est connue sous php5.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 15:45
Ceci dit, j'évite les connexions persistantes généralement, moi.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 15:44
Hmmm, lol...
mysql_pconnect() existe toujours en php5.
Edite ton fichier php.ini.
Cherche cette ligfne :
extension=php_mysql.dll

et vire le ; devant s'il y en a un, puis sauvegarde.
S'il n'y a pas de ; c'est que ton installation de php5 a été foireuse quelquepart...
Tu peux aussi faire un phpinfo(); pour voir ce qu'il y a d'installé et de non installé sur ton php.
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 15:42
cool j'ai refait mon texte et les deux se sont affichés LOL
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 15:41
re...
Bon je suis un peu vex j'ai réussi a installer PHP5 avec easyphp1.7
et mon site ne marche plus
des le debut je tombe sur une erreur:
Fatal error: Call to undefined function mysql_pconnect() in c:\program files\easyphp1-7\www\connexion.php on line 7

a croire que php5 et php4 ne sont pas retrocompatibles???

arghhhhhhhhhhhhhhhh
je craque car j'ai besoin des deux le 5 pr ton exemple de XML
et le 4 pr le taf que j'ai fait jusque la....

t'as une idée?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 13:59
Tes bases n'auraient pas bougé, il te suffisait de sauvegarder le répertoire des données, et le re-copier dans le nouveau.
mais comme tu veux ;-)
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 11:54
ouais convaincu mais en fait non
je suis un vrai francais moi
j'ai peur du changement LOL
comment ca se passe pr mes bases actuelles MySQL etc...

non apriori j'ai trouver un moyen d'utiliser PHP5 avec easyphp en faisant des modifs dans un fichier config.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 11:45
Lol...
C'est comme EasyPHP, mais il intègre PHP5, mysqli, Mysql 5, et il me semble plus stable (en tous cas, plus que la dernière version de EasyPHP que j'ai utilisé, la 1.7).
Et puis il dispose d'addons dont certain sont plutôt sympas.
Enfin, il est au moins aussi simple d'utilisation qu'EasyPHP :-)

Convaincu...?
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 11:40
heu...
je veux bien te croire
mais tu peux essayer de me convaincre avec des arguments?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 11:30
Perso, j'utilise WAMP :
http://www.wampserver.com/

C'est comme EasyPHP, mais en mieux à mon sens (ça reste mon avis hein).
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 11:27
Re,
j'ai encore une petite question:
apparement PHP5 n'est pas dispo avec easyphp?
du moins pas encore...
il faut faire comment alors ?si je veux travailler en local avec le 5?
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 10:16
Haaaaaaaaaaaaaaaaaaaaaa
voila ce que je voulais entendre!!!!

bah d'une part je vais passer sous PHP5
et je vais surement utiliser ton script ;)

Il me manque plus qu'a savoir parler chinois pr faire mon site trilingue :D
Merci!
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 10:03
Oui, PHP 5 est rétro compatible avec PHP4. Tu ne devrais pas rencontrer de problème majeur.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2006 à 10:02
Hello Latata,

Bonne anée à toi aussi :-) Merci!

Ca pourrait marcher avec PHP4, mais j'ai utilisé, pour cet exemple, la librairie SimpleXML qui n'est disponible que sous PHP5.
La partie à remplacer serait le fichier 'fct.php', il faudrait utiliser le parser XML (http://fr2.php.net/manual/fr/ref.xml.php) qui est dédié au parsing XML (DOMXML, lui, permet de créer des documents XML).
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 09:58
En fait ma question serait plutot:
ca ne me derange pas de passer au 5 mais est ce que tout ce que j'ai developper sur le 4 passera encore ?
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
3 janv. 2006 à 09:52
Juste pr savoir
deja bonne année a toi....
pourquoi ca ne marche que avec PHP5?
avec le 4 ca ne passe pas?

Pleins de bonnes choses pr 2006
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 sept. 2005 à 09:01
Heu oui mais cette fonction n'existe pas. Il existe des bases de données sur le net auxquelles on peut accéder, pour faire ça, mais aucune fonction dédiée en php.
Je n'ai pas très envie de pondre mon propre fichier, ce ne serait pas le but du source. Mais bon, si quelqu'un tient à ce que la localisation soit parfaitement exacte, il pondra le code ;-) Là, je le sais, ce n'est pas parfait; mais si la localisation échoue, on passe à la langue par défaut (le français, ici).
Je mets même l'url d'une bonne base pour ça : http://www.ip-to-country.com/
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
7 sept. 2005 à 21:40
"La variable $_SERVER['USER_HTTP_AGENT'] ne contient pas toujours la localisation"
Pour ca, utilise la localisation via IP. C'est un peu plus long, mais tout au plus efficace si y'a rien dans la variable global $_SERVER.

C'est le IP to Country un truc comme ca... :)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
5 sept. 2005 à 11:42
[mode flood]
Pas mal le Mal à la main ^^ mdr !
flood

=> voué, c'est la 1ère fois qu'on me la fait d'ailleurs, celle-là ;-)

phpiste => en fait jen'avais pas utilisé accept_language parce je ne savais pas si la langue préférentielle était écrite en anglais, ou dans la langue en question...
J'ai modifié le script avec cette variable, en assumant que la langue serait écrite en anglais. En espèrant que ça fonctionne ;-) (à tester).
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
3 sept. 2005 à 17:49
[mode flood]
Pas mal le Mal à la main ^^ mdr !
flood
phpiste Messages postés 15 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 6 décembre 2005
2 sept. 2005 à 13:08
(zut on peut même pas s'éditer...)

J'oubliais ça également : http://www.webrankinfo.com/forums/viewtopic_21021.htm
Il semble pas mal de prendre en compte également le référencement multilingue dans les moteurs de recherche, j'avoue que ça me dépasse un peu :op

À étudier de près à mon avis ;)
phpiste Messages postés 15 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 6 décembre 2005
2 sept. 2005 à 12:53
phpiste Messages postés 15 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 6 décembre 2005
2 sept. 2005 à 12:45
Sympa malalam (-ain ? :op), on te fait confiance pour la suite. Effectivement à la place du XML on aurait pu mettre aussi du php et un include avec des variables, classiquement utilisé dans les forums. Un petit lien : http://www.infos-du-net.com/forum/70110-21-traduire-site-plusieurs-langues
(pour ceux qui voudraient une méthode alternative : lire le commentaire de "Rennou")
Bref, j'avais mis un 8 à ta source, j'aurais dû mettre 9 compte tenu de ta bonne volonté et ton zèle ;)

(bien vu pour le "Vorname", les langues ça n'a jamais été mon "vor" lololol)

Bonne courage pour la suite, et merci.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 sept. 2005 à 12:36
J'ai re-modifié, j'utilise maintenant HTTP_USER_AGENT. Si cela échoue, on retourne à la langue par défaut.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 sept. 2005 à 11:31
Voilà c'est fait mais j'ai oublié de commenté. ce sera commenté au prochain update.
Bref j'ai ajouté une fonctio checkLocale () qui va vérifier, grâce à la fonction setlocale () quelle est l langue utilisée par le...serveur. Merde lol. Je viens de m'en rendre compte en écrivant...j'aurais mieux fait de commenté en route.
Ok, phpiste, le getbrowser () ne fonctionne pas à tous les coups selon le serveur. La variable $_SERVER['USER_HTTP_AGENT'] ne contient pas toujours la localisation (ça marche avec mon firefox, pas avec mon IE). Donc je ne sais pas, je vais réflêchir à ça encore...
En attendant là ça fonctionne mais heu, en fonction de la langue du serveur lol, désolé. Disons que c'est toujours mieux que rien.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 sept. 2005 à 10:55
hello phpiste :
1 : heu...je ne sais pas. Je vais voir. je pense que c'est possible en passant par setlocales mais je ne suis pas sûr...ou voir les variables $_SERVER. Faut voir. Je regarde ça dans la journée, c'est effectivement une bonne idée.
2 : si, en cas de traduction lourde, la solution n'est pas forcément intéressante et il faut passer à autre chose. Une solution en gardant le xml (parce que le xml n'est pas l'unique solution hein, il y en a plein) serait d'utiliser plusieurs fichiers xml, 1 pour chaque langue par exemple (au passage, prénom, c'est first name, pas forname ;-) tu confonds avec l'allemand là : Vorname). Autre solution, un fichier locales par module de son site (par page, quoi). Ou un mix des deux : 1 fichier xml par module ET par langue. Ainsi on se retrouver avec tout un tas de petits fichiers xml simples à parser. En utilisant des noms pratiques, on peut toujours gérer ça avec uniquement une petite fonction de parsing. Par exemple : moduleName_ENGLISH.xml etc...
phpiste Messages postés 15 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 6 décembre 2005
2 sept. 2005 à 09:24
Salut ;)

Excusez-moi de vous déranger dans votre dial ;op
J'aurais juste deux petites requêtes pour améliorer encore ce script des plus utiles :
* Q1 : pourrait-on faire un detect automatique de la langue utilisée par le browser et dans ce cas là afficher le site directement dans cette langue ? (en plus de garder la sélection mano comme on voit sur la plupart des sites commerciaux).
* Q2 : pour un site assez conséquent (au-delà du simple formulaire avec mettons un champ : "Bonjour / Welcome", "Nom / Name", "Prénom / Formane"), ne serait-il pas finalement assez lourd de gérer qu'un seul et même XML ? Ce fichier risque d'être assez long si on devait imaginer bcp de blocs de texte dans différentes langues. La charge du parse serait incombée au serveur ? Qu'en serait-il des perf d'affichage, etc ?

Merci de vos réponses, ce script me semble très intéressant. Je le surveille de près ;)

Bonne continuation.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 sept. 2005 à 09:21
Vous faites chier hein !!! ;-)

Ok ok, c'est une bonne idée. je le ferai :-)
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
1 sept. 2005 à 17:09
Et si tu verifie que le neud existe ? Et comme ca si je mets espagnol et qu'il existe pas on mets par default ^^
if($doc->$langue) {

} else {

}
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 sept. 2005 à 16:23
Voilà :-)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 sept. 2005 à 16:15
Je déteste les switch ;-)
Pour le reste, tu as raison. Je pourrais utiliser la même valeur pour mon post, ma variable de session et donc mon fichier xml.
La raison pour laquelle j'ai écrit ça comme ça (il y en a une, si si, lol), c'est pour bien montrer les différentes langues, et la philosophie utilisée. Mais bon...les langues sont déjà écrites explicitement dans le formulaire, donc...ce n'était pas très utile.
Bref, j'avalise ta remarque :-) Je ferai ma modif.
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
1 sept. 2005 à 13:39
Ou si tu y tiens vraiment... fait un switch() :)
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
1 sept. 2005 à 13:37
"# if ($_POST['langue'] === 'francais') {
# $_SESSION['locale'] = 'FRANCAIS';
# }
# if ($_POST['langue'] === 'anglais') {
# $_SESSION['locale'] = 'ENGLISH';
# }
# if ($_POST['langue'] === 'allemand') {
# $_SESSION['locale'] = 'GERMAN';"

$_SESSION['local'] = strtoupper($_POST['langue']);
// Ce qui implique que tu dois renommer allemand en GERMAN ou inversement (pareil pour anglais).
C'est plus jouli je trouve :)
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 sept. 2005 à 09:03
Pour la mise en age, c'est pas le but de la source. Chacun arrangera le formulaire comme il l'entend, avec des images, des css, un fieldset, des label etc...ou un

pour l'id, ben heu...à changer dynamiquement le contenu justement lol. Tu sais que le div avec pour id "msg" (un id étant unique) prendra pour innerhtml la valeur de l'élément du xml ayant pour nom son id. Ca permet de simplifier la tâche. Si mon div a pour id 123, comment je sais que je dois afficher le texte de l'élément xml <msg> ?
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
1 sept. 2005 à 01:52
Rhooo !!!
Regarde ton formulaire ^^

<form>

Il faut un balise BLOCK ! ^^



</form>



Et puis :

<!-- bloc d'affichage. Son id a la même valeur que l'élément contenant le texte à afficher -->

A quoi ca te sert ? A part changer dinamiquement le contenu ?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 août 2005 à 17:53
Vi suis d'accord lol; en fait c'est juste que ça m'oblige à réécrire les 2 appels et que j'ai la flemme. Puis j'ai la flemme de faire un autre update là lol.
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 août 2005 à 16:56
Oué, mais bon ... ma soluce est plus esthétique ^^
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 août 2005 à 16:30
ben tu le passes pas, tu appelles avec
echo findLocales ('', 'bloc');
lol
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 août 2005 à 16:09
lol

Bah, si j'ai un site et que j'ai pas envi de retaper 3600 fois le $_SESSION['locale'];
Donc findLocale('mon message à tratuire dans la langue par default');

Et sinon je lui demande une langue :
Donc findLocale('mon message à tratuire dans la langue par default', 'GERMAN');

Et voila ^^ Non ?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 août 2005 à 16:03
nan, je veux qu'on l'appelle avec la langue...lol. (g mes raisons ;-) ).
Donc non. Pour au'on puisse éventuellement ne paqs utiliser la variable de session.
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 août 2005 à 15:51
MDR !!!!!!!!!
Inverse ($loc '', $block 'notext') devient ($block = 'notext', $loc = '')

Comme ca on n'est pas obligé de demander la fonction :
function($_SESSION['locale'], 'msg');
mais
function('msg'[, langue]);
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 août 2005 à 15:34
Oui en effet tu as raison :-)
je fais un update de toutes façons pour le message d'erreur, je rajoute ca aussi !
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 août 2005 à 15:29
Bah le je teste car :
- Si $loc est vide on lui met $_SESSION['locale'];
- Sinon on met la valeur demandé par l'utilisateur ^^
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 août 2005 à 15:25
Non, ça marche pas en fait lol j'ai re-corrigé ;-)

Pourquoi tu veux absolument tester $loc ?

J'essaye d'inclure un message par défaut maintenant...mais je dois faire une connerie lol.
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 août 2005 à 15:22
Oups,
else {
$loc = $loc;
}
est inutile :D


Rho ... le flood ^^
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 août 2005 à 15:14
Re, oué tres bien ^^
Alors je modifie (je sais pas pkoi j'ai utilisé empty() ... :s)

function findLocale ($block, $loc='') {
if($loc == '') {
$loc = $_SESSION['locale'];
} else {
$loc = $loc;
}
$doc = simplexml_load_file ('locales.xml');
$resultat = $doc ->xpath ($loc.'/'.$block);
return $resultat[0];
}

echo findLocale ('msg', 'GERMAN');
echo findLocale ('msg'); // Langue par default


Et comme ca ?

Je t'MSN ^^
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 août 2005 à 15:04
$loc n'est jamais vide puisque je l'initialise à la session.

Par contre, faudrait faire un test et un message par defaut des fois qu'on ne trouve pas le noeud dans le fichier xml.
Ensuite, mon while list est inutile :

<?php
function findLocale ($loc, $block) { // fonction allant chercher la traduction d'un bloc donné dans le fichier xml de localisation. Prend en paramètre la langue à utiliser, et l'élément contenant le texte. L'élément a pour le nom l'ID du block où on va afficher le texte
$doc = simplexml_load_file ('locales.xml'); // on charge le fichier de localisation
$resultat = $doc ->xpath ($loc.'/'.$block); // on va chercher le noeud correct
return $resultat[0]; // on renvoie le texte traduit
}
?>

Merci sinon :-)

ca va Jojo ?
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
31 août 2005 à 15:00
Lu malalam,
pas mal sauf ... regarde :

function findLocale ($block, $loc='') {
if(empty($loc)) {
$loc = $_SESSION['locale'];
} else {
$loc = $loc;
}
$doc = simplexml_load_file ('locales.xml');
$resultat = $doc ->xpath ($loc.'/'.$block);
while (list ( , $noeud) = each ($resultat)) {
return $noeud;
}
}

echo findLocale ('msg', 'GERMAN');
echo findLocale ('msg', $_SESSION['locale']); // Francais


Non ?
Rejoignez-nous