Probmème formulaire PHP

Résolu
ella12_12 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -  
ella12_12 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je viens de créer un formulaire. Dans ce formulaire j'ai une ligne de code qui permet lorsque l'internaute clique sur le bouton "envoyer" d'afficher une page de remerciement.
Cette page ne s'affiche pas et je n'ai aucun message d'erreur juste une page blanche.
Voici le code :
// Rediriger vers la page de remerciement
header("Location:/formmerci.html");
exit();
} // Fin else

Pourriez vous également me dire pourquoi mon devient : les diplômés de l’Université de Paris XI
Je n'ai pas de serveur installé en local mais je ne fais jamais de prévisualisation en local non plus. Je mets la page directement chez mon hébergeur et je la teste via (IE et FF)

Merci d'avance pour vos bons soins
Bien à vous
E

8 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Salut,

// Rediriger vers la page de remerciement
header("Location:/formmerci.html");
exit();
} // Fin else


ce n'est pas la meilleur solution.

mets dans balise <form action="formmerci.php">

et dans cette page formmerci.php au debut tu mets ton traitement en php en à la fin la partie html avec les remerciements
0
ella12_12 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   31
 
Merci pour cette réponse ultra rapide
Je dois juste t'avouer que je n'y connais rien en PHP et que j'ai fais ce formulaire via un site Internet qui te donne les codes!!!

Oupssss, j'ai un peu honte (sourire)

Bon, je connais tout de meme ce qu'est une balise donc jusque là ca va.
C'est ce que tu m'expliques pour la page remerciement que je ne comprends pas
Sans vouloir abuser. Peux tu m'aider

Merci
E
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Doones le code de tout le formulaire
0
ella12_12 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   31
 
Alain,

Voici le code. Je te remercie vraiment

<?php

// On vérifie si la fonction ini_set() a été désactivée...
$desactive = ini_get('disable_functions');
if (preg_match("/ini_set/i", "$desactive") == 0) {
// Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
}

// Vérifier que le formulaire a été envoyé...
if (isset($_POST['envoi'])) {


//On commence une session pour enregistrer les variables du formulaire...

session_start();

$_SESSION['champ1'] = $_POST['champ1'];
$_SESSION['champ2'] = $_POST['champ2'];
$_SESSION['champ3'] = $_POST['champ3'];
$_SESSION['champ4'] = $_POST['champ4'];
$_SESSION['champ5'] = $_POST['champ5'];
$_SESSION['champ6'] = $_POST['champ6'];
$_SESSION['zone_email1'] = $_POST['zone_email1'];
$_SESSION['liste1'] = $_POST['liste1'];

//Evaluation du bouton 1 ...
switch($_POST['bouton1']) {
case "oui":
$_SESSION['bouton1'] = "oui";
break;
case "non":
$_SESSION['bouton1'] = "non";
break;
default:
$_SESSION['bouton1'] = "";
} // Fin du switch...

//Enregistrement des zones de texte...
$_SESSION['zone_texte1'] = $_POST['zone_texte1'];

// Définir l\'icone apparaissant en cas d\'erreur...


// Définir sur 0 pour afficher un petit x de couleur rouge.
// Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
// Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
// ce dernier devant se trouver au même niveau que votre formulaire...
$flag_icone = 0;

// On vérifie si $flag_icone est défini sur 0 ou 1...
if ($flag_icone == 0) {
$icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
} else {
$icone = "<img src=\"images/icone.gif\"";
}

// Définir l'indicateur d'erreur sur zéro...
$flag_erreur = 0;
// N'envoyer le formulaire que s'il n'y a pas d'erreurs...
if ($flag_erreur == 0) {

// Addresse de réception du formulaire
$email_dest = "info@mvformation.be";
$sujet = "Inscription-Anthropologie du savoir";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: antrhopologiedusavoir<info@mvformation.be>\n";
$entetes .="Return-Path: antrhopologiedusavoir<info@mvformation.be>\n";
$entetes .="Reply-To: antrhopologiedusavoir<info@mvformation.be>\n";
$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";


//Partie HTML de l'e-mail...
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Nom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Prénom = " . $_SESSION['champ2'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Adresse = " . $_SESSION['champ3'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Code Postal = " . $_SESSION['champ4'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Ville = " . $_SESSION['champ5'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Pays = " . $_SESSION['champ6'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">E-mail = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Civilité = " . $_SESSION['liste1'] . "</font><br>\n";
$partie_boutons .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Désirez vous recevoir un virement bancaire ? = " . $_SESSION['bouton1'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Vos commentaires = " . $_SESSION['zone_texte1'] . "</font><br>\n";


// Fin du message HTML
$fin = "</body></html>\n\n";

$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;


// Send the e-mail
if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
echo("Envoi du formulaire impossible");
exit();
} else {

// Rediriger vers la page de remerciement
header("Location:Form_merci.html");
exit();
} // Fin else
} // Fin du if ($flag_erreur == 0) {
} // Fin de if POST
?>
<html>
<!--
Assistant de création de formulaires PHP pour les nuls - Version gratuite 1.6
Auteur : Frédéric Ménard (assistant@f1-fantasy.net)
Site : http://www.f1-fantasy.net/assistant
-->
<head>
<title>Formulaire</title><script language="JavaScript">


function verifSelection() {


if (document.mail_form.champ1.value == "") {
alert("Veuillez remplir ce champs")
return false
}

if (document.mail_form.champ2.value == "") {
alert("Veuillez remplir ce champs")
return false
}

if (document.mail_form.champ3.value == "") {
alert("Veuillez remplir ce champs")
return false
}

if (document.mail_form.champ4.value == "") {
alert("Veuillez remplir ce champs")
return false
}

if (document.mail_form.champ5.value == "") {
alert("Veuillez remplir ce champs")
return false
}

if (document.mail_form.champ6.value == "") {
alert("Veuillez remplir ce champs")
return false
}

if (document.mail_form.zone_email1.value == "") {
alert("Veuillez remplir ce champs")
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_email1.value.indexOf(badChar,0) > -1) {
alert("Votre adresse e-mail contient des caractères invalides. Veuillez vérifier.")
document.mail_form.zone_email1.focus()
return false
}
}

atPos = document.mail_form.zone_email1.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_email1.focus()
return false
}

if (document.mail_form.zone_email1.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_email1.focus()
return false
}

periodPos = document.mail_form.zone_email1.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_email1.focus()
return false
}

if (periodPos+3 > document.mail_form.zone_email1.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_email1.focus()
return false
}

if (document.mail_form.liste1.value == "") {
alert("Veuillez remplir ce champs")
return false
}

nbreboutons1 = document.mail_form.bouton1.length

flag = 0

for (i = 0; i < nbreboutons1 ; i++) {

if (document.mail_form.bouton1[i].checked) {

flag = 1

}

}


if (flag == 0) {

alert("Veuillez remplir ce champs")
return false;
}


} // Fin de la fonction
</script>
</head><body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
<div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire
de contact</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="16"><div align="center">
<font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
if ($erreur_champ1) {
echo(stripslashes($erreur_champ1));
} else {
if ($erreur_champ2) {
echo(stripslashes($erreur_champ2));
} else {
if ($erreur_champ3) {
echo(stripslashes($erreur_champ3));
} else {
if ($erreur_champ4) {
echo(stripslashes($erreur_champ4));
} else {
if ($erreur_champ5) {
echo(stripslashes($erreur_champ5));
} else {
if ($erreur_champ6) {
echo(stripslashes($erreur_champ6));
} else {
if ($erreur_email1) {
echo(stripslashes($erreur_email1));
} else {
if ($erreur_liste1) {
echo(stripslashes($erreur_liste1));
} else {
if ($erreur_bouton1) {
echo(stripslashes($erreur_bouton1));
} else {
if ($erreur_texte1) {
echo(stripslashes($erreur_texte1));
} else {
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
?>
</strong></font>
</div></td>
</tr>
</table>
<p align="center"></p><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Nom</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ1) {
echo($icone);
}
?>
</td>
<td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Prénom</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ2) {
echo($icone);
}
?>
</td>
<td><input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Adresse</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ3) {
echo($icone);
}
?>
</td>
<td><input name="champ3" type="text" value="<?=stripslashes($_SESSION['champ3']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Code Postal</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ4) {
echo($icone);
}
?>
</td>
<td><input name="champ4" type="text" value="<?=stripslashes($_SESSION['champ4']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Ville</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ5) {
echo($icone);
}
?>
</td>
<td><input name="champ5" type="text" value="<?=stripslashes($_SESSION['champ5']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Pays</font></div></td>
<td align="center" valign="middle" width="30">
<?php
if ($erreur_champ6) {
echo($icone);
}
?>
</td>
<td><input name="champ6" type="text" value="<?=stripslashes($_SESSION['champ6']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">E-mail</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_email1) {
echo($icone);
}
?>
</td>
<td><input name="zone_email1" type="text" value="<?=stripslashes($_SESSION['zone_email1']);?>"></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Civilité</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_liste1) {
echo($icone);
}
?>
</td>
<td><select name="liste1" style="width:146"><option value="">Sélectionner...</option>
<option value="Mme"<?php
if ($_SESSION['liste1'] == "Mme") {
echo(" selected");
}
?>>Mme</option>
<option value="Mlle"<?php
if ($_SESSION['liste1'] == "Mlle") {
echo(" selected");
}
?>>Mlle</option>
<option value="Mr"<?php
if ($_SESSION['liste1'] == "Mr") {
echo(" selected");
}
?>>Mr</option>
</select></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Désirez vous recevoir un virement bancaire ?</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_bouton1) {
echo($icone);
}
?>
</td>
<td><input type="radio" name="bouton1" value="oui"<?php
if ($_SESSION['bouton1'] == "oui") {
echo(" checked");
}
?>><font face="Verdana" size="2">oui</font><br><input type="radio" name="bouton1" value="non"<?php
if ($_SESSION['bouton1'] == "non") {
echo(" checked");
}
?>><font face="Verdana" size="2">non</font></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Vos commentaires</font></div></td>
<td width="30" align="center" valign="top">
<?php
if ($erreur_texte1) {
echo($icone);
}
?>
</td>
<td><textarea name="zone_texte1" cols="45" rows="10"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td>
</tr></table><table width="566" border="0" align="center"><tr>
<td valign="top"><div align="center">
<input type="reset" name="Reset" value=" Effacer ">

<input type="submit" name="envoi" value="Envoyer">
</div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form></body></html>
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
a mon avis il manque: return true;

a la fin de ta fonction

return true;
} // Fin de la fonction
</script>


Si ça marche pas on regardera autre chose

Tu n'as pas de message d'erreur ?

Est ce que tu reçoit le mail qd même ?
0

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

Posez votre question
ella12_12 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   31
 
Coucou Alain,

Je ne recois aucun message d'erreur mais une page blanche.
Je recois parfaitement le mail

Bon je vais essayer en changeant le code comme tu me dit. Je te tiens au courant.

Merci déjà pour tout
E
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
est ce que ton fichier de remerciement Form_merci.html est bien nommé ainsi et placé dans le même répertoire que ta page formulaire ?
0
ella12_12 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   31 > Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention  
 
Alain,

La page se nomme bien comme cela et est bien a la racine de mon site tout comme le formulaire.
J'ai essayé en ajoutant la ligne que tu m'as donnée mais cela ne fonctionne toujours pas. j'ai aussi essayé en changeant mon Form_merci.html en Form_merci.php. Mais rien n'y fait.
Voici ou se trouve la page en question pour l'instant. (je sais ca fait bizarre, c'est juste que j'utilise un espace d'hebergement en attendant les données de l'espace d'hébergement de ma parente pour qui je fais ce site. Je n'ai donc pas mis le fichier css sur cet emplacement mais bien le fichier Form_merci.html ou Form_merci.php!!!!)

http://www.mvformation.be/inscriptions.php

E
0
puxor Messages postés 318 Date d'inscription   Statut Membre Dernière intervention   89
 
codé avec les pieds ce formulaire...


...
if ($erreur_bouton1) {
echo(stripslashes($erreur_bouton1));
} else {
if ($erreur_texte1) {
echo(stripslashes($erreur_texte1));
} else {
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
} // Fin du else...
?>

... mdr..
0
ella12_12 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   31
 
Merci Puxor,

Mais comme dit plus haut je n'y connais rien en PHP.
Tout fonctionne très bien sur mon formulaire, sauf le fait qu'il n'ouvre pas la page de remerciement.

Si tu peux m'aider vraiment sur ce sujet.... je t'en saurai gré .....

Merci pour tes bons soins
E
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
essayes en remplaçant:

header("Location:Form_merci.html");
exit();


par:

include ("Form_merci.html");
exit(); 
0
ella12_12 Messages postés 94 Date d'inscription   Statut Membre Dernière intervention   31
 
Un tout grand merci à tous

Mon problème est résolu
0