verifier un formulaire en PHP

verifier un formulaire en PHP - PHP - Programmation

Marsh Posté le 21-08-2006 à 10:05:01    

Je recherche quelqu'un pour verifier un script en PHP que j'ai generer sur un site mais j'ai un probleme au niveau de l'envoi, en effet, lorsque je clic sur envoyer, il me dit que le message est envoyé mais je ne recois rien dans ma boite mail?  
 
quelquun pour verifier mon script car je ne connecter pas le php.  
 
Merci d'avance  
 
Julien

Reply

Marsh Posté le 21-08-2006 à 10:05:01   

Reply

Marsh Posté le 21-08-2006 à 10:09:10    

Moi je veux bien mais sans le  code ca va être dur...

Reply

Marsh Posté le 21-08-2006 à 10:11:57    

ok c'est sympa merci
 
je le colle en dessous
 
- Haut de page (avant la balise <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";
// 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));
 // Verification des champs
 if(strlen($f_1)<2){
  $erreur.="<li><span class='txterror'>Le champ &laquo; Nom : &raquo; est vide ou incomplet.</span>";
  $errf_1=1;
 }
 if(strlen($f_2)<2){
  $erreur.="<li><span class='txterror'>Le champ &laquo; Prénom : &raquo; est vide ou incomplet.</span>";
  $errf_2=1;
 }
 if(strlen($f_3)<2){
  $erreur.="<li><span class='txterror'>Le champ &laquo; E-Mail : &raquo; 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_4)<2){
  $erreur.="<li><span class='txterror'>Le champ &laquo; Course du : &raquo; est vide ou incomplet.</span>";
  $errf_4=1;
 }
 if(strlen($f_5)<2){
  $erreur.="<li><span class='txterror'>Le champ &laquo; Catégorie &raquo; est vide ou incomplet.</span>";
  $errf_5=1;
 }
 if(strlen($f_7)<2){
  $erreur.="<li><span class='txterror'>Le champ &laquo; Fréquences : &raquo; est vide ou incomplet.</span>";
  $errf_7=1;
 }
 if(strlen($f_8)<2){
  $erreur.="<li><span class='txterror'>Le champ &laquo; N° de transpondeur &raquo; est vide ou incomplet.</span>";
  $errf_8=1;
 }
 if($erreur=="" ){
  // Création du message
  $titre="Message de votre site";
  $tete="From:Site@Mrclongwy.fr\n";
  $corps.="Nom : : ".$f_1."\n";
  $corps.="Prénom : : ".$f_2."\n";
  $corps.="E-Mail : : ".$f_3."\n";
  $corps.="Course du : : ".$f_4."\n";
  $corps.="Catégorie : ".$f_5."\n";
  $corps.="N° de licence FVRC : : ".$f_6."\n";
  $corps.="Fréquences : : ".$f_7."\n";
  $corps.="N° de transpondeur : ".$f_8."\n";
  if(mail("julien.marchal@free.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>";
  }
 }
}
?>
 
 
 
 
 
 
- Entre les balises <head> et </head>
 
<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>
 
 
 
- Entre les balises <body> et </body>
 
 
<? 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>&nbsp;</td></tr>
  <tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr>
  <tr><td>&nbsp;</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>&nbsp;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'>Course du :* :</span></td><td><textarea style='width:360 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' rows='6' cols='40'><?echo$f_4?></textarea></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>Catégorie* :</span></td><td><textarea style='width:360 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_5' rows='6' cols='40'><?echo$f_5?></textarea></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>N° de licence FVRC : :</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%'><span class='txtform'>Fréquences :* :</span></td><td><textarea style='width:360 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_7' rows='6' cols='40'><?echo$f_7?></textarea></td></tr>
<tr><td align='right' width='30%'><span class='txtform'>N° de transpondeur* :</span></td><td><textarea style='width:360 <?if($errf_8==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_8' rows='6' cols='40'><?echo$f_8?></textarea></td></tr>
<tr><td align='right' width='30%'></td><td><input type='submit' name='submit' value='Envoyer' border='0'></td></tr>
</table>
</form>
<? } ?>

Reply

Marsh Posté le 21-08-2006 à 10:22:50    

1ere piste : essaye voir de supprimer les accents et les caractères spéciaux...

Reply

Marsh Posté le 21-08-2006 à 10:30:04    

ok je vai retirer é,è,à, °. si tu penses à autres chose dit moi le.

Reply

Marsh Posté le 21-08-2006 à 11:13:09    

je ferais sa ce soir, car la je suis au boulot! Je te redirai sa ce soir vers 21h pour te dire si ca marche ou pas!  
 
merci

Reply

Marsh Posté le 21-08-2006 à 11:37:12    

salut, pour avoir eu des tas de probleme comme le tiens, je te conseil pour cibler le probleme, de créer une toute petite page avec juste une ligne pour t'envoyer un mail :  
créé un petit formulaire avec juste un bouton 'envoyer' (donc avec l'id 'envoyer') puis en haut de la page rajoute ça :  
 
<?php
if (isset($POST['envoyer'])) {
mail(tonadresse@domaine.com,test, test pour verifier);
}
?>
bien sûr tu remplace  tonadresse@domaine.com, par l'adresse que tu veux.
déjà ça te permettra de savoir si la fonction mail() fonctionne bien.

Reply

Marsh Posté le 21-08-2006 à 11:42:32    

la variable $corps est initialisé avec quelles valeurs ?  
tu ne peux pas faire le stripslahes avant, (l'afficher pour être sur qu'il est bon  pour tes tests) inclure le résultat aprés?
tu as vérifié que ton serveur pouvais envoyer des mails via php ? qu'il n'étais pas limité à un type d'adresse ?  
tu as essayé d'envoyer un mail tout simple avec ton serveur ?
personnellement, je ne mettrais pas la fonction mail dans le test de IF... je la sortirais, attaquerais une variable avec, et entrerais cette variable dans le IF.. mais bon je ne pense pas que ça soit ton soucis.
...  
je ne vois rien d'autre..

Reply

Marsh Posté le 21-08-2006 à 11:43:59    

donc si je comprend bien, (je rapelle que moi et le PHP ca au moins 5) je cré une page et je met juste le bouton envoyer et rien au dessus? c'est bien ca? je ne rajoute rien ni champs...

Reply

Marsh Posté le 21-08-2006 à 11:54:57    

oui, comme te di Chani_t, il faut déjà vérifier que ton serveur envoi bien des mails via php.
tu créé ta page avec ton formulaire et juste un bouton envoyé et le code que je t'ai donné et tu test!!!
ça devrait ressembler à ça :  

Code :
  1. <?php
  2. if(isset($_POST['envoyer'])) {
  3. mail(tonadressemail@tondomaine.fr,test,verif);
  4. }
  5. ?>
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  7. <html>
  8. <head>
  9. <title>test fonction mail</title>
  10. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  11. </head>
  12. <body>
  13. <form name="form" method="post" action="<?php $PHP_SELF; ?>">
  14.   <p>
  15.     <input name="envoyer" type="submit" id="envoyer" value="Envoyer">
  16.   </p>
  17. </form>
  18. </body>
  19. </html>

Reply

Marsh Posté le 21-08-2006 à 11:54:57   

Reply

Marsh Posté le 21-08-2006 à 12:49:30    

Mon futur hebergeur sera OVH, donc je pense qu'il accepte ce genre de chose, voici le lien de l'offre que j'ai choisi:  
http://www.ovh.com/fr/produits/start1g.xml
 
Mais pour l'insatnt j'heberge chez free, sur une de mes adresses pour que je puisse tester mes pages...
 
Le probleme vient-il de chez free peut etre NON?
 
Merci

Reply

Marsh Posté le 21-08-2006 à 18:01:30    

peut être :-))))) mais teste comment veux tu savoir sinon!!! si ça marche avec ta petite page c que ça vient de ton scripte, à ce moment faudra trouver une âme charitable pour éplucher ton scripte :-).  je ne suis pas assez calé en prog moi pour le faire dslé!!!

Reply

Marsh Posté le 21-08-2006 à 19:48:00    

ok je vai coller le script qui a ete mis, et je clic sur envoyer et je regarde si g bien recu sur le mail que g modifié dans le script et je te redi

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed