Mangeur de cigogne Hébergement du site en PHP et Mysql par WDMédia-hébergement
Vous aussi adpotez les éléPHPants de Vincent Pontier !


Rechercher dans le forum

Mots-clés :

Trouver :
un de ces termes tous les termes

Depuis :
7 j 15 j 30 j


Retour à l'index du forum

formulaire php

Message original de frederichunter

Le : 30/06/2008 à 11:05:55

Dejà lu 201 fois avant vous

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&eacute;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&eacute;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&ocirc;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>

Re: formulaire php

Réponse de rafaelle

Le : 30/06/2008 à 17:06:05

Bonjour

Si tu es chez Free, tu dois créer un répertoire appelé sessions à la racine de ton site. La session ne pouvant être créée entraîne les autres messages d'erreur.

Si ce n'est pas là que cela coince, mets ton code sur un wall http://www.phpdebutant.org/article19.php
C'est illisible présenté ainsi.

Raf
Retour à l'index du forum


Ajouter une réponse

Nom :

Email :

Titre :

Message :

Combien font 3 + 2 ?

Mise en forme : gras = [b]...[/b], italic = [i]...[/i], souligné = [u]...[/u], citation = [quote]...[/quote], lien = [url]liens_externe[/url] ou [url nom=texte]liens_externe[/url], code source : [code]...[/code]

Recevoir les réponses par mail :
Oui Non

Mémoriser mon nom et mon email :
Oui Non

 

Charte des forums PHPDébutant

Bienvenue à vous,

Vous voici donc prêt à poster sur les forums de PHPDébutant. Avant toute chose, merci de prendre le temps de lire les quelques lignes qui suivent.

Attention, à partir du moment ou vous postez dans les forums, vous acceptez la présente charte. Si votre message est modéré ou supprimé, vous ne pourrez pas dire que vous n'étiez pas au courant des règles !

Pourquoi une charte

Le but de cette charte est simple : que ces forums restent cordiaux et que les personnes aidant les autres ne se sentent pas lésées, insultées, critiquées. Pour que ces forums fonctionnent, il faut des personnes qui répondent aux questions. Pour que celles ci restent sur le forum, il faut les traiter avec respect, et ne pas les confondre avec des bonnes poires, esclaves, etc...

Mesures de régulation

  • Un nouveau message ne disant pas bonjour, ou insultant, dont le titre est tout en majuscules, pourra être supprimé sans justification (raisons non limitatives).
  • Prenez le temps de vérifier que la question que vous allez poser n'a pas déjà été posée, à l'aide du formulaire de recherche.
  • Prenez également le temps de vérifier que la réponse à votre question ne se trouve pas dans les tutoriaux. Nous ne pouvons pas répeter pour chaque visiteur tous les cours, il sont écrits, profitez-en (dans l'ordre tant qu'à faire) !
  • Nous ne faisons pas de scripts tout prêts. Nous aidons et vous guidons pour que vous puissiez trouver vous même la réponse, ce qui est beaucoup plus formateur.
  • Si vous comptez poster un message publicitaire, abstenez-vous. Au mieux le message sera supprimé, au pire les habitués descendront votre service en flamme.
  • Pour tout message de recrutement, précisez bien votre demande. Inutile de poster pour trouver un développeur pour faire gratuitement votre site de webmastering qui vous rapportera plein de sous. Les seuls coups de mains donnés en développement sont pour des associations ou des sujets passionnant un développeur.
  • Toute personne tenant des propos racistes ou illicites sera bannie et pourra faire l'objet de poursuites.
  • L'humour étant très présent sur ces forums, ne réagissez pas violemment à des propos qui pourraient être à prendre au second degré et avec de l'humour.
  • Attention aux trolls ! Leur multiplication peut entraîner la mort des forums, et sans forum, plus d'aide !
  • Respectez les thèmes des forums. Pensez aussi à vérifier que votre message n'a pas été déplacé si vous le croyez effacé.

Conseils

  • N'oubliez pas que les personnes à qui vous vous adressez sont des bénévoles qui donnent de leur temps pour vous. Si vous êtes méchants avec eux, il n'aideront plus et vous n'aurez plus d'aide !
  • Ne soyez pas pressé. Nous avons une vie aussi, et nous ne sommes par forcément tout le temps disponibles.
  • N'oubliez pas que les smileys sont la pour faire comprendre l'humeur dans laquelle vous rédigez un message. Il est indispensable de mettre des smileys quand vous faites de l'humour, sinon le message pourrait être mal perçu (ca serait quand même idiot de plomber l'ambiance en faisant de l'humour !).
  • Surveillez votre orthographe, nous ne vous demandons pas d'être littéraire, mais que votre message soit au moins compréhensible. Evitez à tout prix le style SMS.
  • Expliquez clairement le problème, ce n'est pas toujours facile, mais mieux vaut essayer de le faire le plus possible.
  • Ne postez pas de questions trop vagues du genre "comment faire un forum". Cela ne sert à rien, cela ne s'explique pas sur un coin de forum.
  • Mettez un titre clair, correspondant au sujet que vous allez poster. A l'aide, au secours, etc... ne sont pas d'une grande utilité pour ceux qui vont vous aider. Parfois nous passons en coup de vent, et si nous ne savons pas ce que va contenir le message, nous ne le regarderons même pas.
  • Ne mettez par [URGENT] ou autre joyeuseté du genre dans vos titres de messages. Cela irrite les gens (il y'a plus urgent dans la vie, pensez aux gens qui meurent de faim ou ayant besoin des pompiers, ça c'est urgent), et vous n'aurez pas votre réponse plus vite pour autant.
  • Si vous connaissez déjà à quel domaine votre question d'adresse (par exemple mysql, html, php, javascript), n'hésitez pas à le marquer au début de votre message, avec un [html] par exemple (notez les minuscules).
  • Ne dites pas "ça marche pas". Il y a toujours des raisons. Je vous invite à consulter le tutorial "ça marche pas" qui vous aidera à mieux expliquer votre problème.
  • Ne postez pas 36000 lignes de code. Sur le forum, le code apparaît non coloré et sans indentation, ce qui est illisible. Au dessus de 5 lignes, plus personne ne lit et vous n'aurez pas de réponse. Utilisez le wall
  • En règle générale restez courtois et clair, n'oubliez pas que la politesse fait partie de la vie courante. Il est de bon ton de dire bonjour même pour une réponse, même plusieurs fois dans la journée (ceux qui vous lisent n'ont pas forcément lu vos autres messsages)

La Fin

Avec tout ces conseils vous augmenterez les chances de réponse, leur pertinence et leur rapidité

Voilà, ça sera tout, bonne écriture :)

Fermer les règles et poster un message


www.phpdebutant.org © 2008 - L'équipe de phpDebutant - Hébergement : WDMédia-hébergement