Formulaire PHP

TO LET OPINIONS , QUESTION , REQUEST or JUST FOR LET FRIENDLY MESSAGE

Formulaire PHP

Postby raph on Thu Jan 20, 2011 5:27 pm

Salut a vous;)

Tout d abord merci a toi Rad pour ton site il est nickel;)

Mais un petit souci m ammene avec ton formulaire mail en php;( je n arrive pas a etre redirigé vers ma page de remerciement...tout le reste fonctionne mais des ke j envoi il me mets ma page mais sans rien....je c pas si je suis tres clair...je te mets le code de ma page de contacts si quelqu un a une solution...:


Code: Select all
<?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['zone_email1'] = $_POST['zone_email1'];

//Evaluation du bouton 1 ...
switch($_POST['bouton1']) {
case "Particuliers":
$_SESSION['bouton1'] = "Particuliers";
break;
case " Professionnels":
$_SESSION['bouton1'] = " Professionnels";
break;
default:
$_SESSION['bouton1'] = "";
} // Fin du switch...

//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 = "simplypc64@gmail.com";
$sujet = "Contact";
$entetes ="MIME-Version: 1.0 \n";
   $entetes .="From: Simply PC<simplypc64@gmail.com>\n";
   $entetes .="Return-Path: Simply PC<simplypc64@gmail.com>\n";
   $entetes .="Reply-To: Simply PC<simplypc64@gmail.com>\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 = " . $_SESSION['champ1'] . "</font><br>\n";
$partie_zone_email .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">E-mail = " . $_SESSION['zone_email1'] . "</font><br>\n";
$partie_boutons .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Categorie = " . $_SESSION['bouton1'] . "</font><br>\n";
$partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Message = " . $_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:httwp://www.simplypc.fr/templates/sp/merci.html");
                    exit();
                  } // Fin else
             } // Fin du if ($flag_erreur == 0) {
         } // Fin de if POST
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"
lang="fr">
<head>
   <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
   <title>Contacts</title>
<link href="style.css" rel="stylesheet" type"text/css" media="screen">
   <style type="text/css" media="all">
 
   </style>
   <script language="JavaScript">


function verifSelection() {


if (document.mail_form.champ1.value == "") {
alert("Merci de saisir votre Nom")
return false
}

if (document.mail_form.zone_email1.value == "") {
alert("Veuillez saisir votre adresse E-mail")
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.zone_texte1.value == "") {
alert("Veuillez saisir votre texte")
return false
}

} // Fin de la fonction
</script>

   </head>
   
<body>
<div id="sp">
   <div id="banner">
      <div id="logo"><a href=".../.../index.php"><img src="images/logo.png" alt="Home! !" border="0" /></a></div>
      <div id="menu">
         <div id="mn1"><a href="indexpart.html"><img src="images/mnblank.png" alt="Home! !" border="0" /></a></div>
         <div id="mn2"><a href="indexpro.html"><img src="images/mnblank.png" alt="Home! !" border="0" /></a></div>
         <div id="mn3"><a href="indextar.html"><img src="images/mnblank.png" alt="Home! !" border="0" /></a></div>
         <div id="mn4"><a href="indexform.html"><img src="images/mnblank.png" alt="Home! !" border="0" /></a></div>
         <div id="mn5"><a href=""><img src="images/mnblank.png" alt="Home! !" border="0" /></a></div>
         <div id="mn6"><a href="testcontact.php"><img src="images/mnblank.png" alt="Home! !" border="0" /></a></div>
      </div>
   </div>
   
   <div id="container">
   <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 contact</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_email1) {
     echo(stripslashes($erreur_email1));
     } else {
if ($erreur_bouton1) {
     echo(stripslashes($erreur_bouton1));
     } else {
if ($erreur_texte1) {
     echo(stripslashes($erreur_texte1));
     } 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</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">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">Categorie</font></div></td>
      <td width="30" align="center" valign="middle">
     <?php
     if ($erreur_bouton1) {
     echo($icone);
     }
     ?>
     </td>
      <td><input type="radio" name="bouton1" value="Particuliers"<?php
if ($_SESSION['bouton1'] == "Particuliers") {
echo(" checked");
}
?>
<font face="Verdana" size="2">Particuliers</font><br><input type="radio" name="bouton1" value=" Professionnels"
<?php
if ($_SESSION['bouton1'] == " Professionnels") {
echo(" checked");
}
?>
<font face="Verdana" size="2"> Professionnels</font></td></tr></table><table width="566" border="0" align="center"><tr>
      <td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Message</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>

   </form>
   </div>
<div id="banner2">
      <div id="screen"></div>
      
   </div>
</div>

</body>
</html>


Pour precision tte mes pages sont dans le meme dossier sur le serveur, la page de remerciement et bien en html, l envoi du mail se fait mais on reste bloquer sur la page blanche une fois le mail envoyer...tu peu aller voir sur: http://www.simplypc.fr (il est en construction donc je sais il est po top top;))

Voilou!!!j ai fai un peu de prog mais suis po tres allaise avec le php mais je suis curieux de savoir d ou sa vient;)

Merci d avance a tous;)
User avatar
raph
 
Posts: 3
Joined: Thu Jan 20, 2011 3:10 pm

Re: Formulaire PHP

Postby RAD on Thu Jan 20, 2011 9:24 pm

Salut ! raph

tu vois rien de bizarre sur cette url ! 8)

Code: Select all
header("Location:httwp://www.simplypc.fr/templates/sp/merci.html");


http serait mieux que httwp non ;-)

Code: Select all
header("Location:http://www.simplypc.fr/templates/sp/merci.html");


mais tu peux deja essayer avec

Code: Select all
header("Location:merci.html");


a+
RAD

Image La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
User avatar
RAD
Administrateur - Site Admin
 
Posts: 532
Joined: Thu Aug 31, 2006 12:02 am

Re: Formulaire PHP

Postby raph on Fri Jan 21, 2011 10:21 am

salut;)

ouais j avais vu;) c etait pour voir si tu suivait;) non je rigole!!!

beh sa marche po non plus avec juste le chemin relatifs j ai tt essayer....c le bad je trouve po d ou sa peu venir....

le code te semble bon?
User avatar
raph
 
Posts: 3
Joined: Thu Jan 20, 2011 3:10 pm

Re: Formulaire PHP

Postby RAD on Fri Jan 21, 2011 12:54 pm

Salut

c est etrange ?

regarde cet exemple , j ai juste change l adresse mail pour pas que tu recoive les mail , mais la redir fonctionne !!

voila les 2 fichiers dans un .rar telecharge le ici

A+
RAD

Image La plus grande erreur que puisse faire un homme est d'avoir peur d'en faire une.
User avatar
RAD
Administrateur - Site Admin
 
Posts: 532
Joined: Thu Aug 31, 2006 12:02 am

Re: Formulaire PHP

Postby raph on Sat Jan 22, 2011 11:07 am

salut;)

Bon beh ecoute sa marche avec ton fichier...j ai regarde le mien j vois po de grosse erreur mais sa marche po...donc beh un gros merci a toi pour le fichier;)

Merci bcp de ton aide rapide et efficace;)

Si ta besoin n hesite po!!;)

a bientot
User avatar
raph
 
Posts: 3
Joined: Thu Jan 20, 2011 3:10 pm


Return to RAD ZONE FORUM

Who is online

Users browsing this forum: No registered users and 3 guests

cron