Bonjour,
J'essaye de faire un formulaire en php pour intégrer à un site.
Ne connaissant pas le php, j'ai utilisé un assistant de création formulaire pour copier le code directement dans ma page.
Le formulaire en lui-même fonctionne bien et il est correctement envoyé à mon adresse email. Le problème c'est qu'une fois validé, la page de remerciement affiche un message d'erreur. Voici ce message :
Warning: session_start() [function.session-start]: open(/mnt/122/sdb/9/8/frederic.dechelotte/sessions/sess_aeb163c203d0b6e9c89f1c22e21f6489, O_RDWR) failed: No such file or directory (2) in /mnt/122/sdb/9/8/frederic.dechelotte/formulaire/formul.php on line 16
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/122/sdb/9/8/frederic.dechelotte/formulaire/formul.php:16) in /mnt/122/sdb/9/8/frederic.dechelotte/formulaire/formul.php on line 16
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/122/sdb/9/8/frederic.dechelotte/formulaire/formul.php:16) in /mnt/122/sdb/9/8/frederic.dechelotte/formulaire/formul.php on line 16
Warning: Cannot modify header information - headers already sent by (output started at /mnt/122/sdb/9/8/frederic.dechelotte/formulaire/formul.php:16) in /mnt/122/sdb/9/8/frederic.dechelotte/formulaire/formul.php on line 87
Warning: Unknown(): open(/mnt/122/sdb/9/8/frederic.dechelotte/sessions/sess_aeb163c203d0b6e9c89f1c22e21f6489, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/122/sdb/9/8/frederic.dechelotte/sessions) in Unknown on line 0
Sinon ci-dessous le code de ma page du formulaire :
<?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['zone_email1'] = $_POST['zone_email1'];
$_SESSION['liste1'] = $_POST['liste1'];
$_SESSION['liste2'] = $_POST['liste2'];
$_SESSION['liste3'] = $_POST['liste3'];
$_SESSION['liste4'] = $_POST['liste4'];
$_SESSION['liste5'] = $_POST['liste5'];
//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 = "frederichunter@yahoo.fr";
$sujet = "reservation";
$entetes ="MIME-Version: 1.0 \n";
$entetes .="From: Moi<webmaster@le-reservoir.info>\n";
$entetes .="Return-Path: Moi<webmaster@le-reservoir.info>\n";
$entetes .="Reply-To: Moi<webmaster@le-reservoir.info>\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, prénom = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Commune = " . $_SESSION['champ2'] . "</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\">Spectacle = " . $_SESSION['liste1'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Adulte = " . $_SESSION['liste2'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Mineur = " . $_SESSION['liste3'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Etudiant = " . $_SESSION['liste4'] . "</font><br>\n";
$partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Chômeur = " . $_SESSION['liste5'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Remarques, questions = " . $_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:http://frederic.dechelotte.free.fr/formulaire/merci.php" );
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 saisir votre nom" )
return false
}
if (document.mail_form.champ2.value == "" ) {
alert("Veuillez saisir votre commune" )
return false
}
if (document.mail_form.zone_email1.value == "" ) {
alert("Veuillez saisir votre email" )
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 choisir un spectacle" )
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 réservation</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_email1) {
echo(stripslashes($erreur_email1));
} else {
if ($erreur_liste1) {
echo(stripslashes($erreur_liste1));
} else {
if ($erreur_liste2) {
echo(stripslashes($erreur_liste2));
} else {
if ($erreur_liste3) {
echo(stripslashes($erreur_liste3));
} else {
if ($erreur_liste4) {
echo(stripslashes($erreur_liste4));
} else {
if ($erreur_liste5) {
echo(stripslashes($erreur_liste5));
} 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...
?>
</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, pré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">Commune</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">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">Spectacle</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="">Choisir un spectacle...</option>
<option value="1"<?php
if ($_SESSION['liste1'] == "1" ) {
echo(" selected" );
}
?>>1</option>
<option value="2"<?php
if ($_SESSION['liste1'] == "2" ) {
echo(" selected" );
}
?>>2</option>
<option value="3"<?php
if ($_SESSION['liste1'] == "3" ) {
echo(" selected" );
}
?>>3</option>
<option value="4"<?php
if ($_SESSION['liste1'] == "4" ) {
echo(" selected" );
}
?>>4</option>
<option value="5"<?php
if ($_SESSION['liste1'] == "5" ) {
echo(" selected" );
}
?>>5</option>
<option value="6"<?php
if ($_SESSION['liste1'] == "6" ) {
echo(" selected" );
}
?>>6</option>
</select></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Adulte</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_liste2) {
echo($icone);
}
?>
</td>
<td><select name="liste2" style="width:146"><option value="">Nb de place...</option>
<option value="1"<?php
if ($_SESSION['liste2'] == "1" ) {
echo(" selected" );
}
?>>1</option>
<option value="2"<?php
if ($_SESSION['liste2'] == "2" ) {
echo(" selected" );
}
?>>2</option>
<option value="3"<?php
if ($_SESSION['liste2'] == "3" ) {
echo(" selected" );
}
?>>3</option>
<option value="4"<?php
if ($_SESSION['liste2'] == "4" ) {
echo(" selected" );
}
?>>4</option>
<option value="5"<?php
if ($_SESSION['liste2'] == "5" ) {
echo(" selected" );
}
?>>5</option>
<option value="6"<?php
if ($_SESSION['liste2'] == "6" ) {
echo(" selected" );
}
?>>6</option>
</select></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Mineur</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_liste3) {
echo($icone);
}
?> </td>
<td><select name="liste3" style="width:146">
<option value="">Nb de place...</option>
<option value="1"<?php
if ($_SESSION['liste3'] == "1" ) {
echo(" selected" );
}
?>>1</option>
<option value="2"<?php
if ($_SESSION['liste3'] == "2" ) {
echo(" selected" );
}
?>>2</option>
<option value="3"<?php
if ($_SESSION['liste3'] == "3" ) {
echo(" selected" );
}
?>>3</option>
<option value="4"<?php
if ($_SESSION['liste3'] == "4" ) {
echo(" selected" );
}
?>>4</option>
<option value="5"<?php
if ($_SESSION['liste3'] == "5" ) {
echo(" selected" );
}
?>>5</option>
<option value="6"<?php
if ($_SESSION['liste3'] == "6" ) {
echo(" selected" );
}
?>>6</option>
</select> </td>
</tr></table>
<table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Etudiant</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_liste4) {
echo($icone);
}
?>
</td>
<td><select name="liste4" style="width:146"><option value="">Nb de place...</option>
<option value="1"<?php
if ($_SESSION['liste4'] == "1" ) {
echo(" selected" );
}
?>>1</option>
<option value="2"<?php
if ($_SESSION['liste4'] == "2" ) {
echo(" selected" );
}
?>>2</option>
<option value="3"<?php
if ($_SESSION['liste4'] == "3" ) {
echo(" selected" );
}
?>>3</option>
<option value="4"<?php
if ($_SESSION['liste4'] == "4" ) {
echo(" selected" );
}
?>>4</option>
<option value="5"<?php
if ($_SESSION['liste4'] == "5" ) {
echo(" selected" );
}
?>>5</option>
<option value="6"<?php
if ($_SESSION['liste4'] == "6" ) {
echo(" selected" );
}
?>>6</option>
</select></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140"><div align="right"><font face="Verdana" size="2">Chômeur</font></div></td>
<td width="30" align="center" valign="middle">
<?php
if ($erreur_liste5) {
echo($icone);
}
?>
</td>
<td><select name="liste5" style="width:146"><option value="">Nb de place...</option>
<option value="1"<?php
if ($_SESSION['liste5'] == "1" ) {
echo(" selected" );
}
?>>1</option>
<option value="2"<?php
if ($_SESSION['liste5'] == "2" ) {
echo(" selected" );
}
?>>2</option>
<option value="3"<?php
if ($_SESSION['liste5'] == "3" ) {
echo(" selected" );
}
?>>3</option>
<option value="4"<?php
if ($_SESSION['liste5'] == "4" ) {
echo(" selected" );
}
?>>4</option>
<option value="5"<?php
if ($_SESSION['liste5'] == "5" ) {
echo(" selected" );
}
?>>5</option>
<option value="6"<?php
if ($_SESSION['liste5'] == "6" ) {
echo(" selected" );
}
?>>6</option>
</select></td></tr></table><table width="566" border="0" align="center"><tr>
<td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Remarques, questions</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>