L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX new!
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle

     Referencement
     Créat. de bannière

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
102161 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kits graphiques
     Création logo

Plus :
     Comparateur de prix
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Hebergement gratuit
     Le PHP facile
     Horoscope
     Comscripts
     WebmasterClub
     Activeartanima...
     Le village de ...
     L'écriteau
     Faro-dessing
     Images gifs an...
     Netsources
     Easy-script.com
     Création de site
     Créer son site...
     Je javascript
     Les autres
     Votre site ici ?


Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]


[ Forums >> JavaScript >> Problèmes de création JavaScript / DHTML >> UTF-8 javascript et Firefox ]

> UTF-8 javascript et Firefox
[ Posté par Minimus ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 17:07 | 50 messages ]

Bonjour !

J'ai un souci avec un script qui fonctionne bien sous IE (7) mais qui me fait n'importe quoi sous Firefox (3) ...

Le script récupère l'URL de la page html, et en ressort les paramètres sous forme de variables (c'est un script pompé, et très répandu)

Moi, j'ai juste ajouté la partie qui gère les caractères spéciaux, nommée function clear(text) {

Le but de cette fonction est donc de récolter les codes comme %20, %E9, %EB etc, et de les transformer en caractères lisibles par l'utilisateur : espace, é, ë etc.

Sauf que cette fonction empire les chaînes de caractères sous Firefox3...


Mes web-recherches m'ont fait comprendre que javascript ne gère pas bien tout ça, et qu'il fallait que j'encode tout en UTF-8...

"encoder en UTF-8" ça signifie rajouter la ligne dans le <HEAD> qui dit :<meta http-equiv="content-type" content="text/html; charset=utf-8" />
ou ça veut dire autre chose?


Voici le code de la page, et l'URL de test que je dois valider:
URL :
file:///C:/SITES/Archipel2/ARCHIPEL2008/recapitulatif.html?clienttitre=Mr.&clientnom=Mon%20Nom&clientprenom=Ma%C3%ABl&clientadressepostale=Mon%20Adresse&clientcodepostal=01234&clientville=Maville&clientpays=Mon_Pays&clienttel=0123456789&clientfax=0&clientmail=mon-mail@mail.rien&nombreadultes=2&nombreenfants=2&nombrebb=1&totalnombrepersonnes=5&datedebut=11-06-2008&datefin=27-06-2008&prixtcc=600&nombredraps=3&nombrelinge=5&nombrevelo=4&nombreprestationmenage=1&sommedraps=21&sommelinge=15&sommevelo=120&sommeprestationmenage=30&somme=786&montanttotal=1786&remarque=%C3%A0


recapitulatif.html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Récapitulatif</title>
<script language="JavaScript">

function setAction(f) {
f.action ="FormulaireBase.html";
}

var variables=new Array();

function clear(text)
{
// Conversion des codes RFC 1738 (URL) en caractères spéciaux ASCII compréhensibles

while (text.search(/%20/) != -1)
text = text.replace(/%20/," ");

while (text.search(/%25/) != -1)
text = text.replace(/%25/,"%");

while (text.search(/%E9/) != -1)
text = text.replace(/%E9/,"é");
while (text.search(/%E8/) != -1)
text = text.replace(/%E8/,"è");
while (text.search(/%E0/) != -1)
text = text.replace(/%E0/,"à");
while (text.search(/%E7/) != -1)
text = text.replace(/%E7/,"ç");

while (text.search(/%C9/) != -1)
text = text.replace(/%C9/,"É");
while (text.search(/%C8/) != -1)
text = text.replace(/%C8/,"È");
while (text.search(/%C0/) != -1)
text = text.replace(/%C0/,"À");
while (text.search(/%C7/) != -1)
text = text.replace(/%C7/,"Ç");

while (text.search(/%E2/) != -1)
text = text.replace(/%E2/,"â");
while (text.search(/%EA/) != -1)
text = text.replace(/%EA/,"ê");
while (text.search(/%EE/) != -1)
text = text.replace(/%EE/,"î");
while (text.search(/%F4/) != -1)
text = text.replace(/%F4/,"ô");
while (text.search(/%FB/) != -1)
text = text.replace(/%FB/,"û");
while (text.search(/%E4/) != -1)
text = text.replace(/%E4/,"ä");
while (text.search(/%EB/) != -1)
text = text.replace(/%EB/,"ë");
while (text.search(/%EF/) != -1)
text = text.replace(/%EF/,"ï");
while (text.search(/%F6/) != -1)
text = text.replace(/%F6/,"ö");
while (text.search(/%FC/) != -1)
text = text.replace(/%FC/,"ü");
while (text.search(/%FF/) != -1)
text = text.replace(/%FF/,"ÿ");

while (text.search(/%C2/) != -1)
text = text.replace(/%C2/,"Â");
while (text.search(/%CA/) != -1)
text = text.replace(/%CA/,"Ê");
while (text.search(/%CE/) != -1)
text = text.replace(/%CE/,"Î");
while (text.search(/%D4/) != -1)
text = text.replace(/%D4/,"Ô");
while (text.search(/%DB/) != -1)
text = text.replace(/%DB/,"Û");
while (text.search(/%C4/) != -1)
text = text.replace(/%C4/,"Ä");
while (text.search(/%CB/) != -1)
text = text.replace(/%CB/,"Ë");
while (text.search(/%CF/) != -1)
text = text.replace(/%CF/,"Ï");
while (text.search(/%D6/) != -1)
text = text.replace(/%D6/,"Ö");
while (text.search(/%DC/) != -1)
text = text.replace(/%DC/,"Ü");

while (text.search(/%A8/) != -1)
text = text.replace(/%A8/,"¨");
while (text.search(/%A3/) != -1)
text = text.replace(/%A3/,"£");
while (text.search(/%B5/) != -1)
text = text.replace(/%B5/,"µ");
while (text.search(/%A4/) != -1)
text = text.replace(/%A4/,"¤");
while (text.search(/%60/) != -1)
text = text.replace(/%60/,"`");
while (text.search(/%3C/) != -1)
text = text.replace(/%3C/,"<");
while (text.search(/%3E/) != -1)
text = text.replace(/%3E/,">");
while (text.search(/%A7/) != -1)
text = text.replace(/%A7/,"§");
while (text.search(/%80/) != -1)
text = text.replace(/%80/,"€");
while (text.search(/%F9/) != -1)
text = text.replace(/%F9/,"ù");
while (text.search(/%B0/) != -1)
text = text.replace(/%B0/,"°");
while (text.search(/%B2/) != -1)
text = text.replace(/%B2/,"²");

while (text.search(/%27/) != -1)
text = text.replace(/%27/,"\'");
while (text.search(/%22/) != -1)
text = text.replace(/%22/,"\'"); // Remplacement des guillemets " par apostrophe '

return text;
}

function cutUrl()
{
var str1 = document.location.search;
var str2 = str1;
var pos1 = 1;
var pos2 = pos1;
var pos3 = pos1;
var count = 0;

while ( (pos2 = str1.indexOf("&", pos1)) != -1 )
{
str2 = str1.substring(pos1,pos2);
pos3 = str2.indexOf("=");
variables[count] = new Array();
variables[count]["name"] = str2.substring(0,pos3);
variables[count]["value"] = clear(str2.substring(pos3+1,str2.length));
pos1 = pos2+1;
count++;
}

pos2 = str1.length;
str2 = str1.substring(pos1,pos2);
pos3 = str2.indexOf("=");
variables[count] = new Array();
variables[count]["name"] = str2.substring(0,pos3);
variables[count]["value"] = clear(str2.substring(pos3+1,str2.length));
}

function getHiddens()
{
cutUrl();

var hiddens = new Array();
for (var i=0; i < variables.length; i++)
hiddens = "<input type=\"hidden\" name=\"" + variables[i]["name"] + "\" value=\"" + variables[i]["value"] + "\">";
//

return hiddens;
}

function checkNum(entree)
{
var int_format = /^\d+$/;
if (!int_format.test(entree.value))
{
alert('Ce champ doit etre numerique');
entree.focus();
return false
}
return true
}

</script>
<script language="JavaScript">
function Validation() {
document.Form.method = "POST";
document.Form.action = ("reservation1.php")
document.Form.submit();
}
</script>
</head>
<body bgcolor="#AAAAAA">
<form name="Form" onsubmit="return setAction(this);">
<script language="JavaScript"> // Ecriture des variables cachées
var hiddens = getHiddens();
for (var i=0; i < hiddens.length; i++)
{
// alert(hiddens);
document.write(hiddens[i]);
}
//

</script>
<script type="text/javascript">

var clienttitre = document.Form.clienttitre.value;
var clientnom = document.Form.clientnom.value;
var clientprenom = document.Form.clientprenom.value;
var clientadressepostale = document.Form.clientadressepostale.value;
var clientcodepostal = document.Form.clientcodepostal.value;
var clientville = document.Form.clientville.value;
var clientpays = document.Form.clientpays.value;
var clienttel = document.Form.clienttel.value;
var clientfax = document.Form.clientfax.value;
var clientmail = document.Form.clientmail.value;

var nombreadultes = document.Form.nombreadultes.value;
var nombreenfants = document.Form.nombreenfants.value;
var nombrebb = document.Form.nombrebb.value;
var totalnombrepersonnes = document.Form.totalnombrepersonnes.value;

var datedebut = document.Form.datedebut.value;
var datefin = document.Form.datefin.value;

var prixtcc = document.Form.prixtcc.value;
var nombredraps = document.Form.nombredraps.value;
var nombrelinge = document.Form.nombrelinge.value;
var nombrevelo = document.Form.nombrevelo.value;
var nombreprestationmenage = document.Form.nombreprestationmenage.value;
var sommedraps = document.Form.sommedraps.value;
var sommelinge = document.Form.sommelinge.value;
var sommevelo = document.Form.sommevelo.value;
var sommeprestationmenage = document.Form.sommeprestationmenage.value;
var somme = document.Form.somme.value;
var montanttotal = document.Form.montanttotal.value;

var remarque = document.Form.remarque.value;



document.write("<br> Titre : " + clienttitre);
document.write("<br> Nom : " + clientnom);
document.write("<br> Prénom : " + clientprenom);
document.write("<br> Adresse : " + clientadressepostale);
document.write("<br> Code postal : " + clientcodepostal);
document.write("<br> Ville : " + clientville);
document.write("<br> Pays : " + clientpays);
document.write("<br> Téléphonne : " + clienttel);
document.write("<br> Fax : " + clientfax);
document.write("<br> Adresse mail : " + clientmail);
document.write("<br>");
document.write("<br> Nombre d'adultes : " + nombreadultes);
document.write("<br> Nombre d'enfants : " + nombreenfants);
document.write("<br> Nombre d'enfants de moins de 3 ans : " + nombrebb);
document.write("<br> Nombre total de personnes : " + totalnombrepersonnes);
document.write("<br>");
document.write("<br> Date d'arrivée : " + datedebut);
document.write("<br> Date de départ : " + datefin);
document.write("<br>");

document.write("<br> Nombre de location de draps : " + nombredraps);
document.write("<br> Nombre de location de linge de toilette : " + nombrelinge);
document.write("<br> Nombre de location de vélos : " + nombrevelo);
document.write("<br> Nombre de prestation ménage : " + nombreprestationmenage);
document.write("<br>");
document.write("<br> Prix du ou des drap(s) : " + sommedraps);
document.write("<br> Prix du ou des linge(s) de toilette : " + sommelinge);
document.write("<br> Prix du ou des vélo(s) : " + sommevelo);
document.write("<br> Prix de la ou des prestation(s) de ménage : " + sommeprestationmenage);
document.write("<br> Prix des options cumulées :" + (parseInt(sommedraps) + parseInt(sommelinge) + parseInt(sommevelo) + parseInt(sommeprestationmenage) ) );
document.write("<br>");
document.write("<br> Prix calculé TCC : " + prixtcc);
document.write("<br> Prix du total du séjour sans la caution : " + somme);
document.write("<br> Prix du total du séjour avec la caution : " + montanttotal);
document.write("<br>");
if (remarque.length != 0) {
document.write("<br> Remarques particulières : <br>");
document.write(remarque);
document.write("<br>");
}
document.write("<br>");

document.write('<input type="button" value="Envoyer votre demande" name="Envoyer" onClick="Validation();">');





</script>
</form>
</body>
</html>




Merci d'avance pour vos explications

[Message édité par Minimus le 25-06-2008 à 17:09]


[Message édité par Minimus le 25-06-2008 à 17:12]


[Message édité par Minimus le 25-06-2008 à 17:13]


[Message édité par Minimus le 25-06-2008 à 17:14]


[Message édité par Minimus le 26-06-2008 à 18:43]


________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !!
__________________________
http://perso.orange.fr/mael.le-monnier/



[ Posté par Minimus ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 17:18 | 50 messages ]

P.S:

En gros, ça me donne ça sous Firefox:

Titre : Mr.
Nom : Mon_nom
Prénom : Ma%C3%ABl <= Au lieu de "Maël"
Adresse : Mon_adresse
Code postal : Mon_code_postal
Ville : Maville
Pays : Mon_pays
Téléphonne : Mon_Tel
Fax : Mon_Fax
Adresse mail : Mon_Mail

Nombre d'adultes : 2
Nombre d'enfants : 2
Nombre d'enfants de moins de 3 ans : 1
Nombre total de personnes : 5

Date d'arrivée : 10-06-2008
Date de départ : 28-06-2008

Nombre de location de draps : 3
Nombre de location de linge de toilette : 5
Nombre de location de vélos : 4
Nombre de prestation ménage : 1

Prix du ou des drap(s) : 21
Prix du ou des linge(s) de toilette : 15
Prix du ou des vélo(s) : 120
Prix de la ou des prestation(s) de ménage : 30
Prix des options cumulées :186

Prix calculé TCC : 600
Prix du total du séjour sans la caution : 786
Prix du total du séjour avec la caution : 1786

Remarques particulières :
%C3%A9 %C3%A0 <= AU lieu de "é à"

[Envoyer votre demande]

[Message édité par Minimus le 25-06-2008 à 17:19]


[Message édité par Minimus le 25-06-2008 à 17:25]


[Message édité par Minimus le 26-06-2008 à 18:40]


________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !!
__________________________
http://perso.orange.fr/mael.le-monnier/

[ Posté par guySk ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 17:47 | 713 messages ]

Essaye plutôt avec:

charset=iso-8859-1


C'est celui qui est dédié aux langues Européenne de l'ouest pour l'est, il s'agit du 8859-2, le 3 pour l'esperantos, maltais...
le 4 : estonien, letton
le 5 : caractères cyrilliques
le 6 : écriture arabe

etc...

________________
a'++'a

[ Posté par Minimus ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 17:57 | 50 messages ]

Merci de ta spontanéité, mais ça ne change rien... IE7 comprends, FFox3 ne comprends pas...


Et même quand je fais des alert('Texte'), avec des accents dans le texte, Firefox3 me met des symboles étranges (losange noir avec point d'interrogation blanc dedans) à chaque accent... alors que IE7 me fait des alert normaux...

Je ne comprends pas, car, si je ne dis pas de bêtise, quand j'ai fait mon site perso, sous FFox2, je mettais des alert partout pour tester mes codes, et j'ai jamais eu le problème...

________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !!
__________________________
http://perso.orange.fr/mael.le-monnier/

[ Posté par guySk ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 20:13 | 713 messages ]

Il y a le format par défaut du navigateur, il faut peut-être paramétrer ça, ça me le faisait au début de ff2

________________
a'++'a

[ Posté par #:-{)% ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-06-2008 à 21:43 | 2357 messages ]

Alut

c'est pas parcequ'on dit iso-8859-1 ou utf-8 ds le charset du meta, que le texte répond à l'iso ou à l'utf
le blême provient souvent de son éditeur
la plupart (pour ne pas dire tous) les éditeurs sous win, ne donnent aucune informations sur leurs codages, et c'est bien souvent du windows-1252
donc il faut soit spécifier le codage ds l'éditeur (en réécrivant les caractères spéciaux, sinon ils restent ds leurs anciens codages) et mettre le même charset ds le meta que celui de l'éditeur
soit mettre windows-1252 ds le charset en priant que Bill à bien fait les choses :/
http://pagesperso-orange.fr/coin.des.experts/reponses/faq9_65.html

Atchao

________________
Oubli du BBcode, rééditer!
barbe-sauvage ex Mozopiens devenu renard de feu... et un peu konq sur les bords

Les OG et les DR, je M pas :/

[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 09:29 | 3815 messages ]



Le but de cette fonction est donc de récolter les codes comme %20, %E9, %EB etc, et de les transformer en caractères lisibles par l'utilisateur : espace, é, ë etc.


Sauf que ton application amont ne t'envoie pas de l'iso-8859 (%EB pour ë) mais de l'utf (%C3%AB).
Il faudrait donc la paramétrer pour qu'elle le fasse.



________________
V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites

Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html

[ Posté par Minimus ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 17:30 | 50 messages ]

Bonjour !!

=> #:-{)% j'ai (à priori) compris ce que tu as dis, mais mon logiciel (Frontpage) encodait déjà tout seul en UTF-8, sauf que javascript lui, comprends rien à ce bidule...

Quant à toi, V1ince :
v1nce a dit
Sauf que ton application amont ne t'envoie pas de l'iso-8859 (%EB pour ë) mais de l'utf (%C3%AB).
Il faudrait donc la paramétrer pour qu'elle le fasse.



T'es un dieu V1ince, t'es un vrai dieu !!! Grâce à toi j'ai foi en dieu, je sais maintenant qu'il existe !!!

Bref, en effet, la page qui appelait celle-ci était en UTF-8... une fois remise en ISO-8859-1, tous les scripts java fonctionnent, et les caractères sont corrects.


Dernier souci, lorsque j'ouvre ma boïte mail, les caractères ne sont pas tous pris correctement... cela peut-il venir de mon php? Faut-il que j'encode aussi mon php en iso-8859-1 ? (si c'est possible)

Ou alors dois-je intégrer dans mon php une fonction comme quelquechose du genre:

$Validlink = str_replace(" ", "%20", $Validlink);
$Validlink = str_replace("é", "%E9", $Validlink);
$Validlink = str_replace("è", "%E8", $Validlink);
$Validlink = str_replace("à", "%E0", $Validlink);
$Validlink = str_replace("ç", "%E7", $Validlink);
etc...


Car dans mon mail je me retrouve avec:

Mme. Mon_Nom Maël vient d'effectuer une réservation en ligne.

Coordonnées du client :
Titre : Mme.
Nom : Mon_Nom
Prénom : Maël

Ce qui est encore différent du problème que j'avais avant...

Merci encore et d'avance !!

Minimus Symplexus

[Message édité par Minimus le 26-06-2008 à 17:31]

[b]PS: Je suis un tout nouveau en PHP, je ne m'y suis mis que... vendredi dernier... alors, soyez indulgents

[Message édité par Minimus le 26-06-2008 à 17:35]


[Message édité par Minimus le 26-06-2008 à 18:41]


[Message édité par Minimus le 26-06-2008 à 21:53]


________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !!
__________________________
http://perso.orange.fr/mael.le-monnier/

[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 18:09 | 3815 messages ]

Il ressemble à quoi ton php ?

PS: Edite tes posts précédents et censure les infos perso (à moins que ce ne soit un jeu de test bidon)

________________
V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites

Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html

[ Posté par Minimus ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 18:48 | 50 messages ]

Merci pour ton info, j'aurais laissé ça tel quel...

Bon, dans tous les cas, cet exemple on ne peut plus concret m'a fait comprendre un point sur lequel je n'avais jamais compris l'utilité : A quoi peuvent servir les tags Meta.... Bah là, c'est radical, je les trouve très utiles ^^


Bref, voici mon PHP :

<?php

// On initialise les variables
$destinataire = "mon-mail@mail.rien";
$ip=$_SERVER['REMOTE_ADDR'];

//objet
if(empty($_POST['PAGEOK']))
{$PAGEOK="On oublie tout et on dira rien ....";}
else
{$PAGEOK=$_POST['PAGEOK'];}


if (!ereg($PAGEOK,$_SERVER['HTTP_REFERER'])) {
echo ($PAGEOK);
echo '<script language="javascript">';
echo 'alert("vous n\'avez rien à faire ici ' . $ip . '!");';
echo '</script>';
exit;
}


//objet
if(empty($_POST['objet']))
{$objet="";}
else
{$objet=$_POST['objet'];}

//titre
if(empty($_POST['clienttitre']))
{$clienttitre="";}
else
{$clienttitre=$_POST['clienttitre'];}

//nom
if(empty($_POST['clientnom']))
{$clientnom="";}
else
{$clientnom=$_POST['clientnom'];}

//prenom
if(empty($_POST['clientprenom']))
{$clientprenom="";}
else
{$clientprenom=$_POST['clientprenom'];}

//adresse postale
if(empty($_POST['clientadressepostale']))
{$clientadressepostale="";}
else
{$clientadressepostale=$_POST['clientadressepostale'];}

//code postal
if(empty($_POST['clientcodepostal']))
{$clientcodepostal="";}
else
{$clientcodepostal=$_POST['clientcodepostal'];}

//ville
if(empty($_POST['clientville']))
{$clientville="";}
else
{$clientville=$_POST['clientville'];}

//pays
if(empty($_POST['clientpays']))
{$clientpays="";}
else
{$clientpays=$_POST['clientpays'];}

//telephone
if(empty($_POST['clienttel']))
{$clienttel="";}
else
{$clienttel=$_POST['clienttel'];}

//fax
if(empty($_POST['clientfax']))
{$clientfax="";}
else
{$clientfax=$_POST['clientfax'];}

//mail
if(empty($_POST['clientmail']))
{$clientmail="";}
else
{$clientmail=$_POST['clientmail'];}

//nombre d'adultes
if(empty($_POST['nombreadultes']))
{$nombreadultes="";}
else
{$nombreadultes=$_POST['nombreadultes'];}

//nombre d'enfants
if(empty($_POST['nombreenfants']))
{$nombreenfants="";}
else
{$nombreenfants=$_POST['nombreenfants'];}

//nombre d'enfants de moins de 3 ans
if(empty($_POST['nombrebb']))
{$nombrebb="";}
else
{$nombrebb=$_POST['nombrebb'];}

//nombre total de personnes
if(empty($_POST['totalnombrepersonnes']))
{$totalnombrepersonnes="";}
else
{$totalnombrepersonnes=$_POST['totalnombrepersonnes'];}

//date d'arrivée
if(empty($_POST['datedebut']))
{$datedebut="";}
else
{$datedebut=$_POST['datedebut'];}

//date de départ
if(empty($_POST['datefin']))
{$datefin="";}
else
{$datefin=$_POST['datefin'];}

//prix tcc
if(empty($_POST['prixtcc']))
{$prixtcc="";}
else
{$prixtcc=$_POST['prixtcc'];}

//nombre de draps loués
if(empty($_POST['nombredraps']))
{$nombredraps="";}
else
{$nombredraps=$_POST['nombredraps'];}

//nombre de linge de toilette loués
if(empty($_POST['nombrelinge']))
{$nombrelinge="";}
else
{$nombrelinge=$_POST['nombrelinge'];}

//nombre de vélos loués
if(empty($_POST['nombrevelo']))
{$nombrevelo="";}
else
{$nombrevelo=$_POST['nombrevelo'];}

//nombre de prestations ménages demandées
if(empty($_POST['nombreprestationmenage']))
{$nombreprestationmenage="";}
else
{$nombreprestationmenage=$_POST['nombreprestationmenage'];}

//prix des draps loués
if(empty($_POST['sommedraps']))
{$sommedraps="";}
else
{$sommedraps=$_POST['sommedraps'];}

//prix des linges de toilette loués
if(empty($_POST['sommelinge']))
{$sommelinge="";}
else
{$sommelinge=$_POST['sommelinge'];}

//prix des vélos loués
if(empty($_POST['sommevelo']))
{$sommevelo="";}
else
{$sommevelo=$_POST['sommevelo'];}

//prix des prestations ménages demandées
if(empty($_POST['sommeprestationmenage']))
{$sommeprestationmenage="";}
else
{$sommeprestationmenage=$_POST['sommeprestationmenage'];}

//somme des options cumulées
if(empty($_POST['sommeoptions']))
{$sommeoptions="";}
else
{$sommeoptions=$_POST['sommeoptions'];}

//prix global sans caution
if(empty($_POST['somme']))
{$somme="";}
else
{$somme=$_POST['somme'];}

//prix total avec caution
if(empty($_POST['montanttotal']))
{$montanttotal="";}
else
{$montanttotal=$_POST['montanttotal'];}

//remarque particulière
if(empty($_POST['remarque']))
{$remarque="";}
else
{$remarque=$_POST['remarque'];}

$personnes = 'personnes';
if($totalnombrepersonnes == 1)
{
$personnes = 'personne';
}


$Validlink = "clienttitre=" . $clienttitre . "&clientnom=" . $clientnom . "&clientprenom=" . $clientprenom . "&clientadressepostale=" . $clientadressepostale . "&clientcodepostal=" . $clientcodepostal . "&clientville=" . $clientville . "&clientpays=" . $clientpays . "&clienttel=" . $clienttel . "&clientfax=" . $clientfax . "&clientmail=" . $clientmail . "&nombreadultes=" . $nombreadultes . "&nombreenfants=" . $nombreenfants . "&nombrebb=" . $nombrebb . "&totalnombrepersonnes=" . $totalnombrepersonnes . "&datedebut=" . $datedebut . "&datefin=" . $datefin . "&prixtcc=" . $prixtcc . "&nombredraps=" . $nombredraps . "&nombrelinge=" . $nombrelinge . "&nombrevelo=" . $nombrevelo . "&nombreprestationmenage=" . $nombreprestationmenage . "&sommedraps=" . $sommedraps . "&sommelinge=" . $sommelinge . "&sommevelo=" . $sommevelo . "&sommeprestationmenage=" . $sommeprestationmenage . "&sommeoptions=" . $sommeoptions . "&somme=" . $somme . "&montanttotal=" . $montanttotal . "&remarque=" . $remarque . " ";
$Validlink = str_replace(" ", "%20", $Validlink);
$Validlink = str_replace("é", "%E9", $Validlink);
$Validlink = str_replace("è", "%E8", $Validlink);
$Validlink = str_replace("à", "%E0", $Validlink);
$Validlink = str_replace("ç", "%E7", $Validlink);

$Validlink = str_replace("É", "%C9", $Validlink);
$Validlink = str_replace("È", "%C8", $Validlink);
$Validlink = str_replace("À", "%C0", $Validlink);
$Validlink = str_replace("Ç", "%C7", $Validlink);

$Validlink = str_replace("â", "%E2", $Validlink);
$Validlink = str_replace("ê", "%EA", $Validlink);
$Validlink = str_replace("î", "%EE", $Validlink);
$Validlink = str_replace("ô", "%F4", $Validlink);
$Validlink = str_replace("û", "%FB", $Validlink);
$Validlink = str_replace("ä", "%E4", $Validlink);
$Validlink = str_replace("ë", "%EB", $Validlink);
$Validlink = str_replace("ï", "%EF", $Validlink);
$Validlink = str_replace("ö", "%F6", $Validlink);
$Validlink = str_replace("ü", "%FC", $Validlink);
$Validlink = str_replace("ÿ", "%FF", $Validlink);

$Validlink = str_replace("Â", "%C2", $Validlink);
$Validlink = str_replace("Ê", "%CA", $Validlink);
$Validlink = str_replace("Î", "%CE", $Validlink);
$Validlink = str_replace("Ô", "%D4", $Validlink);
$Validlink = str_replace("Û", "%DB", $Validlink);
$Validlink = str_replace("Ä", "%C4", $Validlink);
$Validlink = str_replace("Ë", "%CB", $Validlink);
$Validlink = str_replace("Ï", "%CF", $Validlink);
$Validlink = str_replace("Ö", "%D6", $Validlink);
$Validlink = str_replace("Ü", "%DC", $Validlink);

$Validlink = str_replace("¨", "%A8", $Validlink);
$Validlink = str_replace("£", "%A3", $Validlink);
$Validlink = str_replace("µ", "%B5", $Validlink);
$Validlink = str_replace("¤", "%A4", $Validlink);
$Validlink = str_replace("`", "%60", $Validlink);
$Validlink = str_replace("<", "%3C", $Validlink);
$Validlink = str_replace(">", "%3E", $Validlink);
$Validlink = str_replace("§", "%A7", $Validlink);
$Validlink = str_replace("&#8364;", "%80", $Validlink);
$Validlink = str_replace("ù", "%F9", $Validlink);
$Validlink = str_replace("°", "%B0", $Validlink);
$Validlink = str_replace("²", "%B2", $Validlink);

$Validlink = str_replace("'", "%27", $Validlink);
$Validlink = str_replace("\"", "%22", $Validlink);


// Message à Costentin :
$message = " <B> \n" ;
$message .= " " . $clienttitre . " " . $clientnom . " " . $clientprenom . " vient d'effectuer une réservation en ligne.</B><BR><BR> \n" ;
$message .= "<FONT COLOR=RED>Coordonnées du client :</FONT><BR> \n";
$message .= "Titre : " . $clienttitre . "<BR>Nom : " . $clientnom . "<BR>Prénom : " . $clientprenom . "<BR> \n";
$message .= "Adresse : " . $clientadressepostale . "<BR>Code postal : " . $clientcodepostal . "<BR>Ville : " . $clientville . "<BR>Pays : " . $clientpays . "<BR> \n";
$message .= "Téléphone : " . $clienttel . "<BR>Fax : " . $clientfax . "<BR>Adresse e-mail : " . $clientmail . "<BR><BR> \n";
$message .= "<FONT COLOR=RED>Informations relatives à la demande de location :</FONT><BR> \n";
$message .= "Nombre d'adultes : " . $nombreadultes . "<BR>Nombre d'enfants : " . $nombreenfants . "<BR>Nombre d'enfants de moins de 3 ans : " . $nombrebb . "<BR>Total : " . $totalnombrepersonnes . " " . $personnes . "<BR><BR> \n";
$message .= "Date d'arrivée : " . $datedebut . "<BR>Date de départ : " . $datefin . "<BR><BR> \n";
$message .= "<FONT COLOR=RED>Options de location :</FONT><BR> \n";
$message .= "Nombre de draps loués à 7&euro; le drap : " . $nombredraps . "<BR>Prix : " . $sommedraps . "&euro;<BR><BR> \n";
$message .= "Nombre de linges de toilette à 3&euro; le set : " . $nombrelinge . "<BR>Prix : " . $sommelinge . "&euro;<BR><BR> \n";
$message .= "Nombre de vélos loués à 30&euro; le vélo/semaine : " . $nombrevelo . "<BR>Prix : " . $sommevelo . "&euro;<BR><BR> \n";
$message .= "Nombre de prestations ménage demandées à 30&euro; la prestation : " . $nombreprestationmenage . "<BR>Prix : " . $sommeprestationmenage . "&euro;<BR><BR><BR> \n";
$message .= "Prix des options cumulées : " . $sommeoptions . "&euro;<BR>Prix TCC calculé par le client : " . $prixtcc . "&euro;<BR>Prix total du séjour sans la caution : " . $somme . "&euro;<BR>Prix total du séjour avec caution : " . $montanttotal . "&euro;<BR><BR> \n";
$message .= "Remarques particulières : " . $remarque . "<BR><BR><BR> \n";
$message .= "<A HREF=http://www.ysipc.com/_test/validation.html?" . $Validlink . " TARGET=_BLANK><FONT COLOR=BLUE>Valider ou modifier le dossier</FONT></A><BR><BR> \n";
$message .= "IP client : " .$ip . "<BR> \n";


$headers = 'From: Réservation-Archipel' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$subject= "Réservation en attente\n";


// Message au client :
$message2 = "<IMG SRC=http://www.ysipc.com/_test/images/mailhead.jpg width=600 height=180></IMG><BR> \n";
$message2 .= "<B> \n";
$message2 .= "Vous avez effectué une demande de réservation en ligne sur notre site.<BR>Votre demande à bien été prise en compte, nous vous recontacterons par e-mail en fonction de la disponibilité selon les dates que vous avez indiqués.<BR> \n";
$message2 .= "Vous recevrez 2 e-mails, l'un contenant votre contrat à imprimer et à nous retourner par courier, l'autre contiendra les informations nécéssaires afin de nous le retourner correctement, ainsi que les conditions générales de vente.<BR><BR></B> \n";
$message2 .= "<FONT COLOR=RED>Rappel concernant votre réservation :</FONT><BR> \n";
$message2 .= "Titre : " . $clienttitre . "<BR>Nom : " . $clientnom . "<BR>Prénom : " . $clientprenom . "<BR> \n";
$message2 .= "Adresse : " . $clientadressepostale . "<BR>Code postal : " . $clientcodepostal . "<BR>Ville : " . $clientville . "<BR>Pays : " . $clientpays . "<BR> \n";
$message2 .= "Téléphone : " . $clienttel . "<BR>Fax : " . $clientfax . "<BR>Adresse e-mail : " . $clientmail . "<BR><BR> \n";
$message2 .= "<FONT COLOR=RED>Informations relatives à la demande de location :</FONT><BR> \n";
$message2 .= "Nombre d'adultes : " . $nombreadultes . "<BR>Nombre d'enfants : " . $nombreenfants . "<BR>Nombre d'enfants de moins de 3 ans : " . $nombrebb . "<BR>Total : " . $totalnombrepersonnes . " " . $personnes . "<BR><BR> \n";
$message2 .= "Date d'arrivée : " . $datedebut . "<BR>Date de départ : " . $datefin . "<BR><BR> \n";
$message2 .= "<FONT COLOR=RED>Options de location :</FONT><BR> \n";
$message2 .= "Nombre de draps loués à 7&euro; le drap : " . $nombredraps . "<BR>Prix : " . $sommedraps . "&euro;<BR><BR> \n";
$message2 .= "Nombre de linges de toilette à 3&euro; le set : " . $nombrelinge . "<BR>Prix : " . $sommelinge . "&euro;<BR><BR> \n";
$message2 .= "Nombre de vélos loués à 30&euro; le vélo/semaine : " . $nombrevelo . "<BR>Prix : " . $sommevelo . "&euro;<BR><BR> \n";
$message2 .= "Nombre de prestations ménage demandées à 30&euro; la prestation : " . $nombreprestationmenage . "<BR>Prix : " . $sommeprestationmenage . "&euro;<BR><BR><BR> \n";
$message2 .= "Prix des options cumulées : " . $sommeoptions . "&euro;<BR>Prix TCC calculé par le client : " . $prixtcc . "&euro;<BR>Prix total du séjour sans la caution : " . $somme . "&euro;<BR>Prix total du séjour avec caution : " . $montanttotal . "&euro;<BR><BR> \n";
$message2 .= "Remarques particulières : " . $remarque . "<BR><BR><BR> \n";


$messageok1 = '0';
$messageok2 = '0';

$destinataire2 = $clientmail;
$subject2 = "Votre réservation\n";

$headers2 = 'From: Formulaire-Archipel' . "\r\n";
$headers2 .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Email à Costentin et au client :
if ( mail($destinataire, $subject, $message, $headers) )
{
$messageok1 = '1';
}
if ( mail($destinataire2, $subject2, $message2, $headers2) )
{
$messageok2 = '1';
}


if ( ($messageok1 == '1') and ($messageok2 == '1') )
{
echo '<script language="javascript">';
echo 'alert("Votre réservation a bien été envoyée !");';
echo 'window.location="',$_SERVER['HTTP_REFERER'],'";';
echo '</script>';
}
else
{
echo '<script language="javascript">';
echo 'alert("Un problème est survenu lors de l\'envoi de votre réservation.\nVeuillez ré-essayer plus tard.");';
echo 'back();';
echo '</script>';
}

?>



Du coup, ce n'est plus vraiment un souci de javascript, mais de php... je ne suis peut être plus vraiment au bon endroit pour poster ça

Minimus Symplexus

________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !!
__________________________
http://perso.orange.fr/mael.le-monnier/

[ Posté par guySk ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 20:56 | 713 messages ]

J'avais un soucis de ce genre pour l'affichage et j'ai mis dans mon fichier php:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//reste du code
?>
</html>


________________
a'++'a

[ Posté par Minimus ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 21:39 | 50 messages ]

guySk a dit
J'avais un soucis de ce genre pour l'affichage et j'ai mis dans mon fichier php:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
//reste du code
?>
</html>


Gné? : (J'aime bien mettre des smileys dans les posts quand j'y pense )

Tu mets du code html brut dans une feuille php ?? Je croyais que le php était absolument "inmélangable" avec le html mis à part la commande echo !

Et si c'est effectivement la solution que tu me propose, (je vais tester ça de suite) est-ce qu'elle est compatible tous navigateurs??

Minimus Symplexus

________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !!
__________________________
http://perso.orange.fr/mael.le-monnier/

[ Posté par Minimus ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 21:50 | 50 messages ]


ça fonctionne !
Tous mes caractères sont pris en comptes correctement dans mon email !
Et même en cliquant sur le lien de l'email(qui me renvoie vers une page html très fortement similaire à celle qui récupère mon formulaire via url avant le post php), tous les caractères sont correctement retranscrits !

Je suis bluffé. Bluffé je suis.

J'en reviens pas que juste une instruction de standard puisse changer aussi radicalement un site et son fonctionnement...

Merci encore V1nce !!

Il ne me reste plus qu'a faire un php qui retranscrit un formulaire complété en un pdf, ou qui me ressort un beau mail bien imprimable (méthode à choisir selon ce que je me sentirais capable ^^)

Il est bientôt fini ce site

Minimus Symplexus


________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !!
__________________________
http://perso.orange.fr/mael.le-monnier/

[ Posté par guySk ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 21:51 | 713 messages ]



Tu peux mélanger html et php sans vergogne, il n'y a pas de soucis, la seul chose à faire attention, c'est, si tu as une gestion de session, tu dois avoir ton ouverture de session en première ligne de commande, ensuite tu peux mettre du html.

________________
a'++'a

[ Posté par Minimus ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 26-06-2008 à 22:18 | 50 messages ]

Mmh, bonne petite information pour un projet futur qui se trimballe dans ma tête

Mais pour le moment, ce site n'a pas encore de gestion de sessions ^^ (encore heureux, j'aurais pas fini...)

Merci guySk de me confirmer que le mélange php+html forme un cocktail délicieux!

Minimus Symplexus

________________
En essayant continuellement, on finit par réussir. Donc plus ça rate, plus on a de chances que ça marche !!
__________________________
http://perso.orange.fr/mael.le-monnier/




Services email :

Vous devez vous identifier pour profiter des services par email du forum.
Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]






4 visiteurs
actuellement en ligne

    PUBLICITE

Wilogo.com - Création Logo Entreprise

     ANNUAIRE WEBMAST.
Carat Hosting
100 Mo pour un appel allopass avec Carat Hosting.
http://www.carat-hosting.com/
Cat : Hebergement web
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
54815 membres
8906 comptes CountUs
1456 comptes myCircle

     LES FORUMS :
14 forums
39162 topics
188631 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "Divers" du jour par caaptusss
Outlook express et Office recelle une option très utile : Les règles de messages. Elles vous permettent lorsque vous recevez beaucoup de messages d'un seul expéditeur, de les classer dans des dossiers prédéfinis ou que vous avez créé. Utile lorsque l'on veux s'y retrouver dans les mails ;-)
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2008 K-NETWORK - Tous droits réservés | CNIL N° 844440 | 29/08/2008 05:48:59 | Design by Studcrea | Gen. en 0.601 sec.