Demande d'aide pour la partie PHP
Hors ligneOgden Le 26/10/2011 à 21:41 Profil de Ogden Configuration de Ogden

Bonjour,

Je m'adresse a vous ce soir avec bcp de désespoir...

En effet, voila depuis 3 jours que je cherche la solution a mon problème qui est celui ci:

J'ai créée un formulaire pour mon site de vente, et le problème c'est que je n'arrive pas a faire la partie php, elle ne fonctionne pas, malgré les nombreux tutos et idées sur d'autres sites, je n'y arrive toujours pas.

En faite ce que je souhaite, c'est que lorsque la personne click sur Envoyer, je reçois un mail avec ce qu'il a écrit dans le formulaire, et que en même tps, la personne soit redirigé vers ma page de remerciement (merci.html)
Et si possible, j'aimerai que lorsque je reçois le mail, il m'indique de qui est ce qu'il vient, et dans objet: Je souhaites passer Commande.

 

Je vous colle le code de mon formulaire.html,
et vous remercie d'avance pour votre aide.

<html>
<body>
<form name='formulaire' action='formmail.php' method='post'>
<table>

<tr><td>Votre Nom : </td><td><input name='nom' type='text' size='15'></td></tr>
<tr><td>Votre Pr&eacute;nom : </td><td><input name='prenom' type='text' size='15'></td></tr>
<tr><td>Votre Adresse :</td><td><textarea name='adresse' cols='15' rows='3'></textarea></td></tr>
<tr><td>Votre Téléphone :</td><td><input name='telephone' type='text' size='15'></td></tr>
<tr><td>Votre Email :</td><td><input name='email' type='text' size='15'></td></tr>
<tr><td>Type de Paiement</td><td><input name='paiement' type='radio' value='reception'>A La Réception<br>
<input name='sujet' type='radio' value='virement'> Virement Bancaire<br>
</td></tr>
<tr><td><input name='annuler' type='reset' value='Annuler'></td><td>
<input name='soumettre' type='submit' value='Envoyer'></td></tr>
</table>
</form>
</body>
</html>

Hors ligneAbdel Le 29/10/2011 à 17:37 Profil de Abdel Configuration de Abdel

bonjour

du moment ou on parle de php,on doit etablir pour votre cas une connexion entre le formulaire et le serveur base de donnees mysql

tout ce fait a l'aide,

$con=mysql_connect("localhost","root","") or die ("erreur");

$base=mysql_select_db("nom base",$con);

$sql=mysql_query("requette");

generalement pour mieux comprendre ,je te conseille de lire un peu la partie consacré pour cela dans ce site web http://site-web0.blogspot.com

--
téléchargement gratuit des logiciels : http://logiciels-gratuit0.blogspot.com
Hors ligneOgden Le 29/10/2011 à 18:28 Profil de Ogden Configuration de Ogden

J'ai presque réussi a faire ce que je souhaitais, le soucis c'est que la vérification des champs ne fonctionne pas.
Meme si je laisse les champs vides et que je submit, ca m'envoi a la page de remerciement...

Arrivez vous a trouver l'erreur?

Merci d'avance.

<?php
 /*
  ********************************************************************************************
  CONFIGURATION
  ********************************************************************************************
 */
 // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
 $destinataire = 'contacte@airsoftexperience.be';

 // copie ? (envoie une copie au visiteur)
 $copie = 'oui'; // 'oui' ou 'non'

 // Messages de confirmation du mail
 header('Location: http://www.airsoftexperience.be/merci.html');
 
 // Messages d'erreur du formulaire
 $message_erreur_formulaire = "Vous devez d'abord envoyer le formulaire.";
 $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

 /*
  ********************************************************************************************
  FIN DE LA CONFIGURATION
  ********************************************************************************************
 */


 // on teste si le formulaire a été soumis
 if (!isset($_POST['envoi']))
 {
  // formulaire non envoyé
  echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
 }
 else
 {
  /*
   * cette fonction sert à nettoyer et enregistrer un texte
   */
  function Rec($text)
  {
   $text = trim($text); // delete white spaces after & before text
   if (1 === get_magic_quotes_gpc())
   {
    $stripslashes = create_function('$txt', 'return stripslashes($txt);');
   }
   else
   {
    $stripslashes = create_function('$txt', 'return $txt;');
   }

   // magic quotes ?
   $text = $stripslashes($text);
   $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
   $text = nl2br($text);
   return $text;
  };

  /*
   * Cette fonction sert à vérifier la syntaxe d'un email
   */
  function IsEmail($email)
  {
   $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
   return (eregi($pattern,$email)) ? true : false;
  };

  // formulaire envoyé, on récupère tous les champs.
  $nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
  $email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
  $adresse = (isset($_POST['adresse']))   ? Rec($_POST['adresse'])   : '';
  $telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
  $prenom  = (isset($_POST['prenom']))     ? Rec($_POST['prenom'])     : '';
  $paiement  = (isset($_POST['paiement']))     ? Rec($_POST['paiement'])     : '';
  $modele     = (isset($_POST['modele']))     ? Rec($_POST['modele'])     : '';
  $prix     = (isset($_POST['prix']))     ? Rec($_POST['prix'])     : '';

  // On va vérifier les variables et l'email ...
  $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré

  if (($nom != '') && ($email != '') && ($adresse != '') && ($telephone != '') && ($prenom != '') && ($paiement != '') && ($modele != '') && ($prix != ''))
  {
   // les variables sont remplies, on génère puis envoie le mail
   $headers = 'From: '.$email.'' . "\r\n";

   // envoyer une copie au visiteur ?
   if ($copie == 'oui')
   {
    $cible = $destinataire.','.$email;
   }
   else
   {
    $cible = $destinataire;
   };

   // Remplacement de certains caractères spéciaux
   $message = str_replace("'","'",$message);
   $message = str_replace("’","'",$message);
   $message = str_replace("&quot;",'"',$message);
   $message = str_replace('<br>','',$message);
   $message = str_replace('<br />','',$message);
   $message = str_replace("&lt;","<",$message);
   $message = str_replace("&gt;",">",$message);
   $message = str_replace("&amp;","&",$message);
   $message = str_replace("&eacute;","é",$message);
   $message = str_replace("&egrave;","è",$message);
   $message = str_replace("&euro;","€",$message); 
   
   

        $message  = 'Nom : '.$nom."\r\n\r\n";
        $message .= 'Prénom : '.$prenom."\r\n\r\n";
        $message .= 'Adresse : '.$adresse."\r\n\r\n";
        $message .= 'Téléphone : '.$telephone."\r\n\r\n";
        $message .= 'Modèle : '.$modele."\r\n\r\n";
 $message .= 'Prix : '.$prix."\r\n\r\n";
 $message .= 'Type De Paiement : '.$paiement."\r\n";
       
    

   // Envoi du mail
 if (mail($cible, 'Nouvelle Commande', $message, $headers))
 {
 echo '<p>'.$message_envoye.'</p>'."\n";
 }
 else
 {
 echo '<p>'.$message_non_envoye.'</p>'."\n";
 };
 }
 else
 {
 // une des 3 variables (ou plus) est vide ...
 echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
 };
 }; // fin du if (!isset($_POST['envoi']))
 ?>

Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels