Probleme de caractères spéciaux
3 participants
Page 1 sur 1
Probleme de caractères spéciaux
Bonjour,
J'ai un soucis avec mon site.
Sur la page de contact (faite en flash et PHP) j'ai placé des zone de texte de saisie que l'internaute peux remplir.
Mais les caractères spéciaux comme @._éàç etc ne fonctionnent pas...
Se pourrais être une incompatibilité entre flash et le programme de navigation?
Quand j'utilise Firefox ça ne fonctionne pas; quand j'utilise Ie ça fonctionne. Mais quand mon père utilise l'un comme l'autre,
ça ne fonctionne pas...
Voici le code flash:
var objet_lv = new LoadVars();
resultat_txt.text = ""; // on efface le champ resultat_txt
function envoyer_mail() {
// on passe à l'objet LoadVars le contenu des différents champs de saisie attention : le nom des propriétés ajoutées à cet objet sera le nom de nos variables dans la partie php
objet_lv.nom = nom_txt.text;
objet_lv.email = email_txt.text;
objet_lv.sujet = sujet_txt.text;
objet_lv.msg = message_txt.text;
// recuperation des informations renvoyées par PHP
objet_lv.onLoad = function(succes) {
if (succes) {
resultat_txt.text = this.resultat; // resultat est le nom d'une variable renvoyée par php
} else {
resultat_txt.text = "erreur d'envoi de mail";
}
}
objet_lv.sendAndLoad("http://www.MONSITE/swif/mail.php",
objet_lv, "POST");// requete vers la page php
}
// le code pour le bouton d'envoi
envoi_btn.onRelease = function() {
envoyer_mail();
}
stop();
et voici le code PHP:
<?php
// récupération des variables envoyées depuis Flash
$nom = $_POST['nom'];
$email = $_POST['email'];
$sujet = $_POST['sujet'];
$msg = $_POST['msg'];
// une fonction pour nettoyer les textes
function nettoyer($texte)
{
$texte = utf8_decode($texte); // Convertit une chaîne UTF-8 en ISO-8859-1
$texte = trim($texte); // supprime les espaces du début et de la fin
$texte = strip_tags($texte); // on supprime les tags html
$texte = nl2br($texte);// on tranforme les retours à la ligne en <br>
return $texte;
}
$sujet = nettoyer($sujet);
$msg = nettoyer($msg);
$headers = "From: $email" . "\r\n" .
"Reply-To: $email" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
mail("contact@yanncastelain.webou.net"
, $sujet, $msg, $headers) ; // on renvoie la variable resultat au format utf8 pour Flash
echo utf8_encode("resultat=votre mail a bien été envoyé");
?>
Mon site est yanncastelain.webou.net (pas fini...lol)
Avez-vous une solution?
Dois-je faire cette page en HTML?
Dois-je demander a flash de prendre en charge le clavier de l'internaute?
Bonne après-midi
J'ai un soucis avec mon site.
Sur la page de contact (faite en flash et PHP) j'ai placé des zone de texte de saisie que l'internaute peux remplir.
Mais les caractères spéciaux comme @._éàç etc ne fonctionnent pas...
Se pourrais être une incompatibilité entre flash et le programme de navigation?
Quand j'utilise Firefox ça ne fonctionne pas; quand j'utilise Ie ça fonctionne. Mais quand mon père utilise l'un comme l'autre,
ça ne fonctionne pas...
Voici le code flash:
var objet_lv = new LoadVars();
resultat_txt.text = ""; // on efface le champ resultat_txt
function envoyer_mail() {
// on passe à l'objet LoadVars le contenu des différents champs de saisie attention : le nom des propriétés ajoutées à cet objet sera le nom de nos variables dans la partie php
objet_lv.nom = nom_txt.text;
objet_lv.email = email_txt.text;
objet_lv.sujet = sujet_txt.text;
objet_lv.msg = message_txt.text;
// recuperation des informations renvoyées par PHP
objet_lv.onLoad = function(succes) {
if (succes) {
resultat_txt.text = this.resultat; // resultat est le nom d'une variable renvoyée par php
} else {
resultat_txt.text = "erreur d'envoi de mail";
}
}
objet_lv.sendAndLoad("http://www.MONSITE/swif/mail.php",
objet_lv, "POST");// requete vers la page php
}
// le code pour le bouton d'envoi
envoi_btn.onRelease = function() {
envoyer_mail();
}
stop();
et voici le code PHP:
<?php
// récupération des variables envoyées depuis Flash
$nom = $_POST['nom'];
$email = $_POST['email'];
$sujet = $_POST['sujet'];
$msg = $_POST['msg'];
// une fonction pour nettoyer les textes
function nettoyer($texte)
{
$texte = utf8_decode($texte); // Convertit une chaîne UTF-8 en ISO-8859-1
$texte = trim($texte); // supprime les espaces du début et de la fin
$texte = strip_tags($texte); // on supprime les tags html
$texte = nl2br($texte);// on tranforme les retours à la ligne en <br>
return $texte;
}
$sujet = nettoyer($sujet);
$msg = nettoyer($msg);
$headers = "From: $email" . "\r\n" .
"Reply-To: $email" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
mail("contact@yanncastelain.webou.net"
, $sujet, $msg, $headers) ; // on renvoie la variable resultat au format utf8 pour Flash
echo utf8_encode("resultat=votre mail a bien été envoyé");
?>
Mon site est yanncastelain.webou.net (pas fini...lol)
Avez-vous une solution?
Dois-je faire cette page en HTML?
Dois-je demander a flash de prendre en charge le clavier de l'internaute?
Bonne après-midi
Re: Probleme de caractères spéciaux
Apparement c'est bien un bug de flash ... par rapport au wmode inscrit sur la page html .
exemple ici :
http://www.headlondon.com/flash/wmode_uk_keyboard_flash_firefox_bug.htm
Donc dans la page html qui contient ton .swf supprime tout ce qui a trais à wmode
exemple ici :
http://www.headlondon.com/flash/wmode_uk_keyboard_flash_firefox_bug.htm
Donc dans la page html qui contient ton .swf supprime tout ce qui a trais à wmode
prob résolu
Un grand merci...
Cela fonctionne parfaitement avec votre méthode.
J'ai supprimé deux paramètres "WMODE" et tout fonctionne.
Merci beaucoup.
Cela fonctionne parfaitement avec votre méthode.
J'ai supprimé deux paramètres "WMODE" et tout fonctionne.
Merci beaucoup.
sa ne vas plus
Coucou,
Manifestement cela ne fonctionne pas très bien partout, malgré le changement apporté dans le code comme dit ci-dessus.
Voici un exemple de message reçus avec ce système:
ceci ,est un test... <br />
les accents ne passent pas<br />
#####{{}}}}[[]] <br />
???....////\\\\\\\\\\\\\\\\<br />
les caracteres bizzarres oui !
Bon, les "br", ça doit pouvoir se régler, je n'ai pas encore cherché de solution...Mais les accents, là je ne sais pas...je ne trouve pas solution...
Moralité, la solution trouvée plus haut fonctionne pour les caractères spéciaux, mais pas pour les accents.
Je vous tiendrais au courant quand je trouverais le "pourquoi du comment"...Ce n'est pas ce stupide insecte (bug lol) qui va me résitré longtemps...ne
lol
Bonne soirée.
Manifestement cela ne fonctionne pas très bien partout, malgré le changement apporté dans le code comme dit ci-dessus.
Voici un exemple de message reçus avec ce système:
ceci ,est un test... <br />
les accents ne passent pas<br />
#####{{}}}}[[]] <br />
???....////\\\\\\\\\\\\\\\\<br />
les caracteres bizzarres oui !
Bon, les "br", ça doit pouvoir se régler, je n'ai pas encore cherché de solution...Mais les accents, là je ne sais pas...je ne trouve pas solution...
Moralité, la solution trouvée plus haut fonctionne pour les caractères spéciaux, mais pas pour les accents.
Je vous tiendrais au courant quand je trouverais le "pourquoi du comment"...Ce n'est pas ce stupide insecte (bug lol) qui va me résitré longtemps...ne
lol
Bonne soirée.
résolu
Coucou tout le monde.
Alors le problème est résolu. Mais je ne sais plus trop comment j'ai fait.
J'ai enlevé le wmode dans l'import de l'object dans mon fichier html.
J'ai aussi mis l'AC de mon swf en AC2 au lieu de AC3.
Je pense que ce n'est que ça qu'il fallait faire mais je n'ai pas retenu se que j'ai fait exactement...lol
bonne aprèm
Alors le problème est résolu. Mais je ne sais plus trop comment j'ai fait.
J'ai enlevé le wmode dans l'import de l'object dans mon fichier html.
J'ai aussi mis l'AC de mon swf en AC2 au lieu de AC3.
Je pense que ce n'est que ça qu'il fallait faire mais je n'ai pas retenu se que j'ai fait exactement...lol
bonne aprèm
Re: Probleme de caractères spéciaux
mdr , justement jviens de t'envoyer un mail de ton site pour voir si ça tournait bien ^^
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|