Bonjour à tous et à toutes,
Voilà je viens vous demandez de l'aide, car n'étant pas du tout expert dans le langage Php je débute en Xhtml et Css.
En fait la personne qui a conçu ce formulaire m'avait dit de le mettre en ligne pour le 10 août et bien sûr étant partie en vacances je me retrouve avec un formulaire.php qui ne fonctionne pas.
J'ai quand même pu déceler une anomalie dans le code source et m'étant servi des tutos débutants, je me suis aperçu que dans le body toutes les balises commençaient par <? et se terminaient par ?> au lieu de <?Php ....?>, alors que la source en début qui se trouve au-dessus de la balise Doctype commençais bien par <Php.
J'ai donc rectifié sur cette base et le formulaire a donc bien pu s'afficher sans parse error.
mais pour le reste là je suis largué complet
En fait l'erreur est que quand on remplit le formulaire tout se passe bien, mais au moment de valider il me met un message d'erreur me disant que des checkbox obligatoires qui ont été cochées ne le sont pas.
En plus le problème c'est que j'ai suivi aussi le fait qu'il faille l'essayer en local avec Wamp que j'ai donc installé. Mais dès que je mets le fichier php en ligne avec le lien pour l'ouvrir le navigateur me propose de le télécharger au lieu de m'afficher le formulaire, donc là je ne comprends vraiment plus.
Voici le code source complet du fichier formulaire php j'ai exprès enlevé l'adresse du site et de l'adresse mail. En plus je trouve quand même bizarre d'avoir tout mis dans un fichier. et imbriqué dans de l'HTML
D'avance merci pour votre aide
Modifié par Gil88 (07 Aug 2008 - 08:33)
Voilà je viens vous demandez de l'aide, car n'étant pas du tout expert dans le langage Php je débute en Xhtml et Css.
En fait la personne qui a conçu ce formulaire m'avait dit de le mettre en ligne pour le 10 août et bien sûr étant partie en vacances je me retrouve avec un formulaire.php qui ne fonctionne pas.
J'ai quand même pu déceler une anomalie dans le code source et m'étant servi des tutos débutants, je me suis aperçu que dans le body toutes les balises commençaient par <? et se terminaient par ?> au lieu de <?Php ....?>, alors que la source en début qui se trouve au-dessus de la balise Doctype commençais bien par <Php.
J'ai donc rectifié sur cette base et le formulaire a donc bien pu s'afficher sans parse error.
mais pour le reste là je suis largué complet


En fait l'erreur est que quand on remplit le formulaire tout se passe bien, mais au moment de valider il me met un message d'erreur me disant que des checkbox obligatoires qui ont été cochées ne le sont pas.
En plus le problème c'est que j'ai suivi aussi le fait qu'il faille l'essayer en local avec Wamp que j'ai donc installé. Mais dès que je mets le fichier php en ligne avec le lien pour l'ouvrir le navigateur me propose de le télécharger au lieu de m'afficher le formulaire, donc là je ne comprends vraiment plus.
Voici le code source complet du fichier formulaire php j'ai exprès enlevé l'adresse du site et de l'adresse mail. En plus je trouve quand même bizarre d'avoir tout mis dans un fichier. et imbriqué dans de l'HTML
<?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";
// Déclaration des variables, entrées
$list['f_5']=array("demande prix","de documentations","demande devis");
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=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_3)));
$f_4=strip_tags(trim($f_4));
// Verification des champs
if(strlen($f_1)<2){
$erreur.="<li><span class='txterror'>Le champ « Societe » est vide ou incomplet.</span>";
$errf_1=1;
}
if(strlen($f_2)<2){
$erreur.="<li><span class='txterror'>Le champ « Responsable » est vide ou incomplet.</span>";
$errf_2=1;
}
if(strlen($f_3)<2){
$erreur.="<li><span class='txterror'>Le champ « Fonction » est vide ou incomplet.</span>";
$errf_3=1;
}
if(strlen($f_4)<2){
$erreur.="<li><span class='txterror'>Le champ « Mail » est vide ou incomplet.</span>";
$errf_4=1;
}else{
if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
'@'.
'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
$f_4)){
$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
$errf_4=1;
}
}
if(!$f_5){
$erreur.="<li><span class='txterror'>Le champ « Votre choix » requiert au moins une sélection.</span>";
$errf_5=1;
}
if($erreur==""){
// Création du message
$titre="Message de votre site";
$tete="From:Site@notresite.fr\n";
$corps.="Société : ".$f_1."\n";
$corps.="Responsable : ".$f_2."\n";
$corps.="Fonction : ".$f_3."\n";
$corps.="Mail : ".$f_4."\n";
for($id=0; $id<count($list['f_5']); $id++){
if($f_5[$id]==1){
$corps.="Votre choix : ".$list['f_5'][$id]."\n";
}
}
$corps.="Commentaires : ".$f_6."\n";
if(mail("prenom.nom@orange.fr", $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>";
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen"><!--
INPUT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE }
SELECT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE }
TEXTAREA { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE }
.txterror { color: black; font-size: 11px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular }
.txtform { color: black; font-size: 12px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular }
--></style>
</head>
<body>
<?php 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>
<?php }else{ ?>
<form action='<?php echo $PHP_SELF ?>' method='post' name='Form'>
<table width='100%' border='0' cellspacing='1' cellpadding='1'>
<?php 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><?php echo$erreur?></ul></td></tr><?php }?>
<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'>Societe* :</span></td><td><input type='text' style='width:200 <?php if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_1' value='<?php echo stripslashes($f_1);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Responsable* :</span></td><td><input type='text' style='width:200 <?php if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_2' value='<?php echo stripslashes($f_2);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Fonction* :</span></td><td><input type='text' style='width:200 <?php if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_3' value='<?php echo stripslashes($f_3);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Mail* :</span></td><td><input type='text' style='width:200 <?php if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' value='<?php echo stripslashes($f_4);?>' size='24' border='0'></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Votre choix* :</span></td><td>
<table border='0' cellspacing='0' cellpadding='0'>
<?php
for($id=0;$id<count($list['f_5']);$id++)
{
if($f_5[$id]==1){$ct="checked";
}
print("<tr><td><input ".$ct." type='checkbox' name='f_5[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_5][$id]."</span></td></tr>");
unset($ct);}?>
</table>
</td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Commentaires :</span></td><td><textarea style='width:360 <?php if($errf_6==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_6' rows='6' cols='40'><?php 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>
<?php } ?>
</body>
</html>
D'avance merci pour votre aide

Modifié par Gil88 (07 Aug 2008 - 08:33)