Modification de script sur formulaire de contact

pi_delannoy Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 24 octobre 2008 - 23 oct. 2008 à 17:21
pi_delannoy Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 24 octobre 2008 - 24 oct. 2008 à 12:43
Novice en PHP, j'ai repris un formulaire de contact chez Online (

form2mail.php
) qui correspond à mes attentes.


Par contre, je souhaiterais l'améliorer :
Après l'envoi du formulaire, je voudrais être redirigé sur une URL (http://www.domaine.com

) pour envoyer une page personnalisée (merci.html) en remplacement du texte banal : "Envoi réussi...".




Le script actuel (qui fonctionne) est le suivant :


  
     /*  Appel a la fonction mail */
     if (mail($to, $subject, $message, $headers))
     {echo "Erreur: Impossible d'envoyer le mail";}



     else {echo "Envoi réussi. Nous allons traiter votre demande dans les meilleurs délais.";}
     } 
     else {echo "Erreur : vous devez spécifier votre nom et une adresse email valide \n";}



Je suppose qu'il fait insérer quelque part un bout script du genre : (Location: http://www.domaine.com/merci.html")  mais où ? 

Quelqu'un pourrait-il m'aider sur le sujet ? Merci d'avance.

7 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
23 oct. 2008 à 17:54
tu fais ca  à la place du echo :          
header ("location: http://www.domaine.com/merci.p
hp");
die();
0
pi_delannoy Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 24 octobre 2008
24 oct. 2008 à 00:10
Avant tout, merci de répondre à mon problème.
J'ai suivi - à la lettre - les instructions, mais c'est pas gagné !

Voila ce que j'ai fait et modifié avec les messages d'erreurs correspondants :

Modif 1



85 else {echo "header ("location: http://www.domaine.com/merci.html");




86 die();}





Parse error

: syntax error, unexpected T_STRING, expecting ',' or ';' in form2mail.php on line 85

Modif 2
85 {echo "header ("location: http://www.domaine.com/merci.html");
86 die();}
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in form2mail.php on line 85<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Modif 3
85 {"header ("location: http://www.domaine.com/merci.html");
86 die();}
Parse error: syntax error, unexpected T_STRING in form2mail.php on line 85

Modif 4
85 {header ("location: http://www.domaine.com/merci.html");
86 die();}
Parse error: syntax error, unexpected T_ELSE in form2mail.php on line 88
soit :
88 else {echo "Erreur : vous devez spécifier votre nom et une adresse email valide \n";}

Je ne peux pas supprimer cette ligne car il faut impérativement que les zones 'nom' et 'adresse email' du formulaire soient renseignées.
Merci d'avance.

Note : Le script du site est en html et la page 'merci' également (et non 'merci.php').










 













 


 
0
pi_delannoy Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 24 octobre 2008
24 oct. 2008 à 00:32
Pour fregolo52
J'ai supprimé le 'else' à la ligne 88.
Le message d'erreur me renvoie à la dernière ligne (91) du script PHP.


Modif 5
85 {header ("location: http://www.domaine.com/merci.html");
86 die();}
87
88 {echo "Erreur : vous devez spécifier votre nom et une adresse email valide \n";}
89
90 ?>
91 </code>
Parse error: syntax error, unexpected $end in form2mail.php on line 91
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
24 oct. 2008 à 11:09
Modif 4 me semble correcte !!!!!

Peux-tu montre un peu plus de code ? (comme dans ton 1er message)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pi_delannoy Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 24 octobre 2008
24 oct. 2008 à 11:50
Voila le script complet (après modification) qui me donne le message d'erreur suivant :
Parse error: syntax error, unexpected $end in form2mail.php on line 91 
 
80  /*  Appel a la fonction mail */
81
82
83  

if (mail($to, $subject, $message, $headers)){echo "Erreur: Impossible d'envoyer le mail";}
84
85  

{header ("location: http://www.domaine.com/merci.html");
86  die();}
87 
88  {echo "Erreur : vous devez spécifier votre nom et une adresse email valide \n";}
89
90  

?>
91  </code>

J'ai envoyé plusieurs messages au Support technique d'Online mais ils ne répondent jamais.
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
24 oct. 2008 à 12:19
c'est quoi ce code avec des accolades partout !!
Il est où le else ?

Bref, même sans le 'else' et tes accolades partout, ton code devrait s'exécuter (mais il n'a pas le comportement que tu voudrais).

Dans ton cas, il y a une erreur de syntaxe, plus précisément il doit manquer une accolade quelque part, mais pas dans le code que tu montres, c'est ailleurs le pb.

Essaie de prondre un éditer de texte style PSPad ou notepad++ qui te marque les accolades (ou paranthèses) ouvrantes et fermentes quand le curseur est dessus.
0
pi_delannoy Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 24 octobre 2008
24 oct. 2008 à 12:43
Bon, laisse tomber !  je ne voudrais surtout pas te faire perdre ton temps... je suis trop nul.

Je ne dois pas être loin de la solution et je vais essayer de bricoler mon script de manière empirique.
Si je n'y arrive pas, je reviens au script original (le premier que je t'ai envoyé) qui marche, mais qui envoi une page blanche nulle avec la mention "Envoi réussi. Nous allons traiter votre demande dans les meilleurs délais".

Si j'avais ton adresse mail perso je pourrais t'envoyer l'adresse URL du site web et de la page contact (formulaire) que j'ai concocté.
En répondant, tu verrais le message d'erreur...
0
Rejoignez-nous