8741 sujets

Développement web côté serveur, CMS

Pages :
(reprise du message précédent)

C'est rotor de chez rotor !!!

Merci pour ton aide, on va bien finir par trouver la solution ... Je vais mettre un cierge à l'église ...

On bloque ici :

<?php  if($ok_mail=="true"){ ?>

Modifié par Tintin75 (21 Jan 2016 - 11:27)
Modérateur
Bonjour,

Soit c'est $ok_mail=false;, mais alors il faut le mettre en tout début de script, soit il faut tester l'existence du $ok_mail avec un isset juste avant if ($ok_mail==true).

Le plus simple et le plus robuste me semble de remplacer if ($ok_mail==true) par :

if (isset($ok_mail)&&$ok_mail) ...


EDIT : la raison est que lorsqu'on appelle le script pour la première fois, on ne passe jamais à l'endroit où se trouve actuellement les $ok_mail=true; et $ok_mail=false;

Amicalement,
Modifié par parsimonhi (20 Jan 2016 - 20:00)
Ca fonctionne merci beaucoup.

Merci encore pour votre aide. Smiley smile

Juste un truc qui m'ennui :

Commande par t�l�phone ( sujet )

l'école de la vie ( corps )

Avec ça :

$corps = stripslashes($corps); // Vire les aspostrophes
C'était bon. Si je le laisse ça m'indique une erreur, je vire ça fonctionne nickel.

	
		$corps.="<u>Navigateur de l'expéditeur</u> : ".$nav."<br/>"."\n";
		$corps.=""."<br/>"."\n";
		$corps.="<u>Message</u> : <br/>"."\n";
		$corps.=""."<br/>"."\n";
		$corps.="".$f_6."\n";
				
if (mail("X.com", stripslashes($sujet), stripslashes($corps), $from)) {
    $ok_mail = "true";
} else {
    $ok_mail = "false";
    $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
	}


Reste à voir ce problème et j'ai fini !!! Smiley lol
Modifié par Tintin75 (21 Jan 2016 - 12:02)
Jencal le formulaire fonctionne nickel chrome plus de message d'erreur, juste un problème d'encodage dans le mail de réception.

Commande par t�l�phone ( sujet )

l'école de la vie ( corps )

Avec Php 7, pas mal de problème avec l'encodage. Mais là, je sèche.
Modifié par Tintin75 (21 Jan 2016 - 10:14)
et si tu fais des utf8_decode() sur tes variables ? ou ajout d'un header utf8
$headers = "Content-Type: text/html; charset=UTF-8";

Modifié par JENCAL (21 Jan 2016 - 10:32)
$sujet = $_POST['f_1'];
$from="From:X\n"; // Nom de l'expéditeur du message
$from.= "Reply-To: $f_5 \n"; // Adresse de retour
$from.="MIME-version: 1.0\n"; // Code pour passer le message en html
$from.="Content-type: text/html; charset= iso-8859-1\n"; // Pour passer le message en html
$headers = "Content-Type: text/html; charset=UTF-8";

Comme ça ou en haut du formulaire ? Si en haut formulaire j'ai essayé rien.
oui et dans mail() tu rajoute le header

mail("X.com", stripslashes($sujet), stripslashes($corps), $from, $header)
Ca fonctionne merci, 0 problème. Quelques retouche avec UTF-8 et ça roule.

Bref, pour passer mon code de 5.4 en 7 ça été coton mais j'obtiens le même résultat, ce qui est le principal. J'ai encore appris.

Merci à vous.
Modifié par Tintin75 (21 Jan 2016 - 12:02)
Pages :