Formulaire php

Fermé
jack63 - 14 janv. 2010 à 19:09
 jack63 - 15 janv. 2010 à 22:01
Bonjour,
voila j'ai essaye de comprendre mon probleme pour faire un formulaire en php.
comme je suis nul en php j'ai donc pris ca sur un generateur de formulaire.ok.
ensuite j'ai suivi les instructions et j'ai mis tout ca dans ma page avec l'extention PHP.
mais quand je vais voir ma page il y a un beau message d'erreur .
voila ce que j'ai mis
<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n’êtes pas certain de ce que vous faites !
if(isset($_POST['submit'])){
$erreur="";
// Nettoyage des entrées
while(list($var,$val)=each($_POST)){
if(!is_array($val)){
$$var=strip_tags($val);
}else{
while(list($arvar,$arval)=each($val)){
$$var[$arvar]=strip_tags($arval);
}
}
}
// Formatage des entrées
$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
$f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2)));
$f_3=strip_tags(trim($f_3));
$f_4=trim(eregi_replace("[^0-9\ +]", "", $f_4));
$f_5=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_5)));
// Verification des champs
if(strlen($f_1)<2){
$erreur.="<li><span class='txterror'>Le champ « Nom » est vide ou incomplet.</span>";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ « Prénom » est vide ou incomplet.</span>";
$errf_2=1;
}
if(strlen($f_3)<2){
$erreur.="<li><span class='txterror'>Le champ « E-mail » est vide ou incomplet.</span>";
$errf_3=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$f_3)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_3=1;
}
}
if(strlen($f_5)<2){
$erreur.="<li><span class='txterror'>Le champ « Ville » est vide ou incomplet.</span>";
$errf_5=1;
}
if($erreur==""){
// Création du message
$titre="Message de votre site";
$tete="From:Site@monsite.com\n";
$corps.="Nom : ".$f_1."\n";
$corps.="Prénom : ".$f_2."\n";
$corps.="E-mail : ".$f_3."\n";
$corps.="Téléphone : ".$f_4."\n";
$corps.="Ville : ".$f_5."\n";
$corps.="Message : ".$f_6."\n";
if(mail("monsite@gmail.com", $titre, stripslashes($corps), $tete)){
$ok_mail="true";
}else{
$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
}
}
}
?>
<? if($ok_mail=="true"){ ?>
<table width='100%' border='0' cellspacing='1' cellpadding='1'>
<tr><td><span class='txtform'>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</span></td></tr>
<tr><td> </td></tr>
<tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
<tr><td> </td></tr>
<tr><td><span class='txtform'>Nous allons y donner suite dans les meilleurs délais.<br>A bientôt.</span></td></tr>
</table>
<? }else{ ?>
<form action='<? echo $PHP_SELF ?>' method='post' name='Form'>
<table width='100%' border='0' cellspacing='1' cellpadding='1'>
<? if($erreur){ ?><tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span></td></tr><tr><td colspan='2'><ul><?echo$erreur?></ul></td></tr><?}?>
<tr><td colspan='2'><span class='txterror'>Les champs marqué d'un * sont obligatoires</span></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Nom* :</span></td><td><input type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Prénom* :</span></td><td><input type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>E-mail* :</span></td><td><input type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?echo stripslashes($f_3);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Téléphone :</span></td><td><input type='text' style='width:200 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?echo stripslashes($f_4);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Ville* :</span></td><td><input type='text' style='width:200 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' value='<?echo stripslashes($f_5);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Message :</span></td><td><textarea style='width:360 <?if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' rows='6' cols='40'><?echo$f_6?></textarea></td></tr>
<tr><td align='right' width='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'></td></tr>
</table>
</form>
<? } ?>

merci d'avance pour me dire comment je pourrais faire

3 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 501
14 janv. 2010 à 19:15
Montre les messages d'erreur ça sera plus simple pour corriger.
Et remets ton code dans la balise "code" de CCM, ou colles le sur ce service.
Sinon, un formulaire c'est du (x)HTML et pas du PHP !
0
quand j'active ma page sur le net ca me dit que la page est introuvable.
si je me souvient c'est une erreur 404 ..
mais dans ce que j'ai mis dans mon 1er message il y a dans la deuxieme partie du message les codes html.
mais je vais essayer de faire ce que tu me dit
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 501
14 janv. 2010 à 19:25
L'erreur 404 signifie que le fichier demandé n'existe pas, ça n'a donc rien à voir avec le PHP.
Donc tu as mal positionné ou nommé ton fichier.
0
re bonsoir
ok donc je vais reprendre tout ca tranquillement ..et je vais essayer de remettre de l'ordre dans tout ca.
merci beaucoup c'est tres sympa ..si je ne trouve pas puis revenir vous embetter un peu?
merci et meilleurs voeux
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 501
14 janv. 2010 à 23:27
"si je ne trouve pas puis revenir vous embetter un peu ?"
Oui et tu ne m'embêtes pas.
0
BONSOIR à tous
bon me revoila et toujours avec mon probleme de code .
j'ai refais un autre scipt mais j'ai en fait une erreur 403 precisement et non pas 404 comme je le disais hier (désolé) je pense que le plus simple est de vous montrer ce code ...ma page a bien l'extention PHP.
quand je la test avec phpadmin je suis en localhost....
<?php

$email_dest = "monsite@gmail.com";

if ($_POST['envoi']) {

$message_remerciement = "Merci nous allons donner suite dans les meilleurs délais";

// E-mail headers:
$headers ="MIME-Version: 1.0 \n";
$headers .="From: monsite@gmail.com \n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n";

$subject = "Bonjour";

$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");
} // Closing if !mail...

} // Closing if edit
?><html>
<head>
<title>Assistant d'envoi de formulaires</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript"><!-- Hide script from older browsers
function verifSelection() {if (mail_form.champ1.value == "") {
alert("Veuillez saisir votre nom")
return false
} if (mail_form.champ2.value == "") {
alert("Veuillez saisir votre prénom")
return false
} if (mail_form.champ4.value == "") {
alert("Veuillez saisir votre ville")
return false
} if (mail_form.zone_email.value == "") {
alert("Veuillez saisir votre e-mail")
return false
}

invalidChars = " /:,;'"

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

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

atPos = 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.')
mail_form.zone_email.focus()
return false
}

if (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.')
mail_form.zone_email.focus()
return false
}

periodPos = 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.')
mail_form.zone_email.focus()
return false
}

if (periodPos+3 > 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.')
mail_form.zone_email.focus()
return false
}if (mail_form.zone_texte.value == "") {
alert("Veuillez saisir votre message")
return false
} } // Fin de la fonction

</script>
</head>

<body>
<form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
<div align="center"></div>
<p align="center">
<?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
<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">TEL</font></td>
<td><input name="champ3" type="text"></td>
</tr><tr>
<td><font face="Verdana" size="2">VILLE</font></td>
<td><input name="champ4" type="text"></td>
</tr><tr>
<td width><font face="Verdana" size="2">E-MAIL</font></td>
<td width><input name="zone_email" type="text"></td>
</tr><tr>
<td valign="top"><font face="Verdana" size="2">MESSAGE</font></td>
<td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
</tr><tr>
<td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="4">
<input name="nbre_zones_texte" type="hidden" value="1">
<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="TEL"><input name="titre_champ4" type="hidden" value="VILLE"><input name="titre_email" type="hidden" value="E-MAIL"><input name="titre_zone" type="hidden" value="MESSAGE"></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>
</body>
</html>
0