Probleme formulaire php

Fermé
mardelalex - 7 oct. 2009 à 18:25
incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 - 8 oct. 2009 à 22:04
Bonjour,
j'ai créé un formulaire php avec un editeur mais quand je clic sur validr je recoit les donnée dans ma boite mail mais je ne vais pas a la page suivante sur mon site

voila mon code

php :

<?php

// N'afficher que les erreurs, pas les avertissements...
ini_set("error_reporting", "E_ALL & ~E_NOTICE");

// Adresse de réception du formulaire
$email_dest = "mardelalex@hotmail.com";

if ($_POST['envoi']) {

// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: mardelalex<mardelalex@hotmail.com>\n";


$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "commandes";

$partie_entete = "<html><head>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";

for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
}

if ($_POST['nbre_zone_email'] != 0) {
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
}

if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
$partie_zone_texte = stripslashes($partie_zone_texte);
}

$fin = "</body></html>";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;

// Send the e-mail
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} else { // Closing if !mail...

// Renvoi à la page de remerciement
header("Location:http://www.lesmerveillesdecitrinelle.be/commandes.html");
exit();


} // Fin du else
} // Closing if edit
?>


javascript

<script language="JavaScript">function verifSelection() {if (document.mail_form.champ1.value == "") {
alert("Veuillez saisir votre nom")
return false
} if (document.mail_form.champ2.value == "") {
alert("Veuillez saisir votre prénom")
return false
} if (document.mail_form.champ3.value == "") {
alert("Veuillez saisir votre adresse")
return false
} if (document.mail_form.champ4.value == "") {
alert("Veuillez saisir votre code postal")
return false
} if (document.mail_form.champ5.value == "") {
alert("Veuillez saisir votre numéro")
return false
} if (document.mail_form.champ7.value == "") {
alert("Veuillez saisir votre telephone")
return false
} if (document.mail_form.zone_email.value == "") {
alert("Veuillez saisir votre adresse mail")
return false
}

invalidChars = " /:,;'"

for (i=0; i<invalidChars.length; i++) {	// does it contain any invalid characters?
badChar = invalidChars.charAt(i)

if (document.mail_form.zone_email.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
document.mail_form.zone_email.focus()
return false
}
}

atPos = document.mail_form.zone_email.value.indexOf("@",1)			// there must be one "@" symbol
if (atPos == -1) {
alert('Votre adresse e-mail ne contient pas le signe "@". Veuillez vérifier.')
document.mail_form.zone_email.focus()
return false
}

if (document.mail_form.zone_email.value.indexOf("@",atPos+1) != -1) {	// and only one "@" symbol
alert('Il ne doit y avoir qu\'un signe "@". Veuillez vérifier.')
document.mail_form.zone_email.focus()
return false
}

periodPos = document.mail_form.zone_email.value.indexOf(".",atPos)

if (periodPos == -1) {					// and at least one "." after the "@"
alert('Vous avez oublié le point "." après le signe "@". Veuillez vérifier.')
document.mail_form.zone_email.focus()
return false
}

if (periodPos+3 > document.mail_form.zone_email.value.length)	{		// must be at least 2 characters after the 
alert('Il doit y avoir au moins deux caractères après le signe ".". Veuillez vérifier.')
document.mail_form.zone_email.focus()
return false
}} // Fin de la fonction

</script>


html (formulaire dans <body>)

<form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" action="commandes1.html" onSubmit="return verifSelection()">
  <div align="center"></div>
<p align="center">
<table width="566" border="0" align="center">
<p align="center">
</p><tr>
      <td><font face="Verdana" size="2">nom</font></td>
      <td><input name="champ1" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">prenom</font></td>
      <td><input name="champ2" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">adresse</font></td>
      <td><input name="champ3" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">code postal</font></td>
      <td><input name="champ4" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">numéro</font></td>
      <td><input name="champ5" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">boite</font></td>
      <td><input name="champ6" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">telephone </font></td>
      <td><input name="champ7" type="text"></td>
    </tr><tr>
      <td><font face="Verdana" size="2">gsm</font></td>
      <td><input name="champ8" type="text"></td>
    </tr><tr>
      <td width><font face="Verdana" size="2">adresse mail</font></td>
      <td width><input name="zone_email" type="text"></td>
    </tr><tr>
      <td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="8">
        <input name="nbre_zones_texte" type="hidden" value="0">
<input name="nbre_zone_email" type="hidden" value="1">
<input name="titre_champ1" type="hidden" value="nom"><input name="titre_champ2" type="hidden" value="prenom"><input name="titre_champ3" type="hidden" value="adresse"><input name="titre_champ4" type="hidden" value="code postal"><input name="titre_champ5" type="hidden" value="numéro"><input name="titre_champ6" type="hidden" value="boite"><input name="titre_champ7" type="hidden" value="telephone "><input name="titre_champ8" type="hidden" value="gsm"><input name="titre_email" type="hidden" value="adresse mail"></td>
      <td><div align="center">
<input type="reset" name="Reset" value="Effacer">          
<input type="submit" name="envoi" value="Envoyer">
        </div></td>
    </tr>
  </table>
  <div align="center"></div>
</form>


voila je ne connais rien aux php j'ai utiliser un editeur merci de m'aider :)
A voir également:

4 réponses

incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
7 oct. 2009 à 19:32
Salut,

Déjà, je dirai que tu n'as pas besoin de la exit(); à la fin du script php.

Essaye de l'enlever pour voir si ton erreur ne viendrait pas de là.

Cdlt

IC
0
ca s'ameliore :) maintenant il ne met plus l'ecran blanc mais il reste sur la page du formulaire mais en fait tu peux essayer sur le site comme il est heberger

http://www.lesmerveillesdecitrinelle.be/commandes.php

voila merci
0
et j'ai oublier de vous le dire j'ai remplacer commandes.html par commandes1.html qui est la vrai page ou le redirection doit se faire
0
incaout Messages postés 347 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 novembre 2012 74
8 oct. 2009 à 22:04
Bonsoir,

Je vois pas trop là. Essayes de remplacer ton adresse absolue par une adresse relative dans ton header("Location:http://www.lesmerveillesdecitrinelle.be/commandes.html");

Si par exemple ta page Php se trouve repertoire1 et ta page commandes dans repertoire2, tu auras :

header("Location:../repertoire2/commandes.html");

Comme tu navigues au sein du même site, je ne pense pas qu'il soit nécessaire de passer par une url absolue.
De plus si ton site change d'adresse, ton script restera valable.

A+

IC
0