Traitement formulaire

guigui070991 Messages postés 11 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 2 novembre 2008 - 1 nov. 2008 à 09:40
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 2 nov. 2008 à 12:06
bonjour @ tous ! ,


alors voila je suis entrain de créer un site web du moins j'essaye et je arriver au formulaire je pédale déjà dans la semoule,

j'ai réussie à créer le formulaire en html mais je bloque au niveau du
traitement de celui-ci, pourtant j'ai essayer de suivre des

tutoriels dont celui de mateo (que je remercie d'ailleurs pour tout ses tutoriels qui m'ont donné gout au php ) mais en vain ...

mon formulaire comporte 10 champs qui sont :
<li>nom </li><li> prenom</li><li>
adresse</li><li>
suite_adresse (champs non obligatoire ) </li><li>cp</li><li>
ville</li><li>
tel_fixe</li><li>
tel_port</li><li>
mail</li><li>
confirm_mail</li>+ captcha
+ case à cocher (conditions )

  de plus mot de passe devra se générer seul et envoyer au membre par mail avec liens d'activation .

alors voila schématiquement à quoi devrait répondre mon traitement de
formulaire mais je bloque sur tout 0_o, alors si quelqu'un pourrait
m'aider

se serait génial


merci d'avance !

3 réponses

nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
1 nov. 2008 à 10:33
Salut,

Donc en gros tu galère, tu ne sais pas par ou commencer ?

Commence par créer une table "inscrit" dans ta base avec les champs : - nom - prenom - pass - adresse - suite_adresse - cp - ville - tel_fixe - tel_port - mail

Ensuite, en haut de ta page de formulaire, tu fais une condition pour vérifier que tout les champs ont été envoyé et que ceux qui sont obligatoires ne sont pas vide.

Si ta condition est vrai alors tu fais un INSERT de toutes les données dans mysql et tu envoi le mot de pass a l'aide de la fonction mail (il y a mieux, sur ce site, codefalse a fait une classe très complète, on peut même faire des pièces jointes !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
guigui070991 Messages postés 11 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 2 novembre 2008
2 nov. 2008 à 11:55
après recherche j'ai éditer un premier code qu'en pensez vous :

 
<?php
   

// je redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["id"]))
{
     header("Location: index.php");
}
else
{
    
     // Formulaire visible par défaut
     $masquer_formulaire = false;
    
     // Une fois le formulaire envoyé
     if(isset($_POST["submit"]))
     {
// je récupére les POST et attribue une variable
    $nom= $_POST["nom"];
    $prenom = $_POST["prenom"];
    $adresse = $_POST["adresse"];
    $cp = $_POST["cp"];
    $ville = $_POST["ville"];
    $tel_fixe = $_POST["tel_fixe"];
    $tel_port = $_POST["tel_port"];
    $date_de_naissance = $_POST["date_de_naissance"];
    $mail1 = $_POST["mail"];
    $mail2 = $_POST["confirm_mail"];
    $captcha = $_POST["captcha"];
   
////////////////////////////////////////////////////////////////////////////////

// je vérifie si les champs sont bien remplis
   
   
 if(empty($_POST['nom']))
{        
$message = "Un membre possède déjà ce login.
";
}
 if(empty($_POST['prenom']))
{
$message = "Veuillez indiquer votre prenom
";
}
 if(empty($_POST['adresse']))
{
$message = "Veuillez indiquer votre adresse
";
}
 if(empty($_POST['cp']))
{
$message = "Veuillez indiquer votre code postal
";
}
 if(empty($_POST['ville']))
{
$message = "Veuillez indiquer votre ville
";
}
 if(empty($_POST['tel_fixe']))
{
$message = "Veuillez indiquer votre numéros de téléphone fixe
";
}
if(empty($_POST['date_de_naissance']))
{
$message = "Veuillez indiquer votre date de naissance
";
}
 if(empty($_POST['mail']))
{
$message = "Veuillez indiquer votre email
";
}
if ($mail1 != $mail2)
{
$message = "Vos adresses email sont différentes
";
}
if(!ereg("^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]{2,}[.][a-zA-Z]{2,4}$",$_POST["mail"]))
          {
               $message = "Votre adresse e-mail n'est pas valide";
          }
         
// Connexion à la base de données
              
               mysql_connect("", "", "");
               mysql_select_db("");
              
               // Vérification de l'unicité de l'adresse e-mail
               $result = mysql_query("
                    SELECT email
                    FROM compte_membre
                    WHERE mail = '" . $_POST["mail"] . "'
               ");
              
               // une erreur survient
               if(!$result)
               {
                    $message = "Une erreur est survenue lors de la création de votre compte utilisateur, veuillez recommencez";
               }
               else
               {
                   
                    // Si un enregistrement est trouvé
                    if(mysql_num_rows($result) > 0)
                    {
                        
                         while($row = mysql_fetch_array($result))
                         {
                             
                              if($_POST["mail1"] == $row["mail1"])
                              {
                                   $message = "Le nom d'utilisateur " . $_POST["mail"];
                                   $message .= "est déjà utilisé";
                              }
                         }
                        
                    }
                    else
                    {
                   
// Génération de la clef d'activation
                         $caracteres = array("a", "b", "c", "d", "e", "f", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
                         $caracteres_aleatoires = array_rand($caracteres, 8);
                         $clef_activation = "";
                        
                         foreach($caracteres_aleatoires as $i)
                         {
                              $clef_activation .= $caracteres[$i];
                         }
// on crée le compte utilisateur
                         $result = mysql_query("
                              INSERT INTO compte_membre(
                                   nom
                                   , prenom
                                   , adresse
                                   , suite_adresse
                                   , cp
                                   , ville
                                   , tel_fixe
                                   , tel_port
                                   , email
                                   , date_de_naissance
                                   , clef_activation
                                   , date_inscription
                              )
                              VALUES(
                                   '" . $nom . "'
                                   , '" . $prenom . "'
                                   , '" . $adresse . "'
                                   , '". $suite_adresse . "'
                                   , '" . $cp . "'
                                   , '". $ville . "'
                                   , '". $tel_fixe . "'
                                   , '" . $tel_port . "'
                                   , '" . $mail1 . "'
                                   , '" . $date_de_naissance . "'
                                   , '" . $clef_activation . "'
                                   , '" . time() . "'
                              )
                         ");
                        
                         // Si une erreur survient
                         if(!$result)
                         {
                              $message = "Une erreur est survenue lors de la création de votre compte utilisateur, veuillez recommencez";
                         }
                         else
                         {
 // on envoi le mail d'activation
                              $sujet = "Activation de votre compte utilisateur";
                             
                              $message = "Pour valider votre inscription, merci de cliquer sur le lien suivant :\n";
                              $message .= "http://" . kiwizi.e3b.org"];
                              $message .= "/activation-account.php?id=" . mysql_insert_id();
                              $message .= "&clef=" . $clef_activation;
                             
                              // Si une erreur survient
                              if(!@mail($_POST["mail"], $sujet, $message))
                              {
                                   $message = "Une erreur est survenue lors de l'envoi du mail d'activation
\n";
                                   $message .= "Veuillez contacter l'administrateur afin d'activer votre compte";
                              }
                              else
                              {
                                  
                                   // Message de confirmation
                                  
                                   $message = "Votre compte utilisateur a correctement été créer
\n";
                                   $message .= "Un email vient de vous être envoyer à $mail1 afin de l'activer";
                                  
                                   // On masque le formulaire
                                   $masquer_formulaire = true;
                                  
 // Fermeture de la connexion à la base de données
          mysql_close();
                                  
   
?>
   
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
2 nov. 2008 à 12:06
Y a quelque petit truc a modifier, par exemple :

-  if(isset($_POST["submit"])) ne marchera en aucun cas, on ne peut pas récupèrer le bouton submit, il faut vérifier les champs 1 par 1 !

Sinon ça va.

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
Rejoignez-nous