IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Enregistrement dans la base de données


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Enregistrement dans la base de données
    Bonjour à toute la team des développeurs.J'espère que vous aller tous très bien.
    Je boss en ce moment sur un projet et je suis bloquer au niveau de l'enregistrement de mes données en base de données. En effet, après j'ai fait un formulaire d'inscription qui une fois remplit, je dois stocker ces informations daans ma base de donnée et rediriger vers une autre page. Le seul problème est qu'une fois que je clique sur le bouton envoyer, je suis bel et bien rediriger vers la page suivante. Mais lorque je consulte la base de données, je constate que les informations n'ont pas été stockées. Je n'ai pas d'idée sur quel peut être le problème et j'ai vraiment besoin d'assistance SVP.
    merci d'avance!

    Pour plus de détails, voici le code source en question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    <?php session_start();
    include("includes/identifiants.php");
    include("includes/debut.php");
    require_once('item.php');
     include("menu.php");
     include("header.php");
     ?>
     
     <?php
     /*Port des objets contenant les variables de la commande*/
     $cart = unserialize(serialize($_SESSION['cart']));
     $sum_line = 0;
     $id=0;
    for ($i=0; $i<count($cart); $i++){
     $id = $id+1;
     $code = $cart[$i]->code_produit;
     $qty = $cart[$i]->qty;
     $sum_line += $cart[$i]->prix_produit * $cart[$i]->qty;
     }
      ?>
     
     <body>
     
       <?php
       if (empty($_POST['email_adress'])) /*Cette vérification supp c'est pour vérifier si nous
       sommes ds le cadre de l'affichage du formulaire ou bien celui du traitement*/
       {
       ?>
     
     	<div class ="form_cus">
     		<h2>Please Leave Your Informations Here!</h2>
     		<form method="POST" action="form_customer.php">
     			<input type ="text" placeholder ="Please  Enter Your Name..." name="nom"><br/><br/>
     			<input type="text" placeholder ="Please  Enter Your Surname..." name="surname"><br/><br/>
          <input type ="text" placeholder ="Please  Enter Your Town..." name="town"><br/><br/>
     			<input type="text" placeholder ="Please  Enter Your Country..." name="country"><br/><br/>
          <input type="text" placeholder ="Please  Enter Your Phone Number..." name="phone"><br/><br/>
          <input type ="mail" placeholder ="Please  Enter Your Email Adress..." name="email_adress"><br/><br/>
          <button class="btn  btn-lg btn-success" type="submit" name ="send">
          <span class="glyphicon glyphicon-ok-sign"></span> Login </button>
          <button class="btn  btn-lg btn-danger" type="reset" name ="reset">
          <span class="glyphicon glyphicon-remove"></span> Reset </button>
     		</form>
     	</div>
     
      <?php
      }
      else
      {
        if (isset($_POST['send'])){
          $email_erreur1 = NULL;
          $email_erreur2 = NULL;
     
     
      //On récupère les variables
        $i = 0; //son rôle est de stocker le nombre d'erreurs.
      	$name = trim($_POST['nom']);
        $surname = trim ($_POST['surname']);
        $town = ($_POST['town']);
        $country = ($_POST['country']);
        $phone = ($_POST['phone']);
        $email = ($_POST['email_adress']);
        ?>
     
      <?php
          //Vérification de l'adresse email
          //Il faut que l'adresse email n'ait jamais été utilisée
          $query=$bdd->prepare('SELECT COUNT(*) AS nbr FROM customer WHERE Email =:mail');
          $query->bindValue(':mail',$email, PDO::PARAM_STR);
          $query->execute();
          $mail_free=($query->fetchColumn()==0)?1:0;//on fait juste pareil vérifications que pour le pseudo
          $query->CloseCursor();
     
          if(!$mail_free)
      		{
      			$email_erreur1 = "Votre adresse email est déjà utilisée par un client";
      			$i++;
      		}
          //On vérifie la forme maintenant (les expréssions régulières : regex)
          if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
      		{
      			$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
      			$i++;
      		}
      ?>
     
      <?php
         if ($i==0) //notre var de nbre d'erreurs n'a rien enregistrer, alors tt s'est bn passé.
      	   {
      		$row = null;
      		$req = $bdd->prepare("INSERT INTO customer (Name, Surname, Phone, Town, Country, Email)
      		VALUES(?, ?, ?, ?, ?, ?");
      		$row = $req->execute(array($name, $surname, $phone, $town, $country, $email));
     
      		//Et on définit les variables de sessions
      			$_SESSION['nom'] = $name;
      			$_SESSION['surname'] = $surname;
    ?>
          <?php
    /* ici, j'insère le client dans la table commande*/
    $req = $bdd->prepare('SELECT Id_customer from customer')or die(print_r( $bdd->errorInfo()));
    $req->execute(array());
    while ($donnees = $req->fetch())
      {
        $id_cus = $donnees['Id_customer'];
       }
    /*j'insère cette id ds la table command*/
       $row = null;
       $req = $bdd->prepare("INSERT INTO command (Id_customer, Date_command)
       VALUES(?, NOW()");
       $row = $req->execute(array($id_cus));
           ?>
     
           <?php
    /* on insère ensuite la command dans ligne_commande*/
    $req = $bdd->prepare('SELECT Id_command from command')or die(print_r( $bdd->errorInfo()));
    $req->execute(array());
    while ($donnees = $req->fetch())
      {
        $id_com = $donnees['Id_command'];
       }
       /*j'insère ici dans la table ligne_commande*/
       for ($i=0; $i<count($cart); $i++){
         $row = null;
         $req = $bdd->prepare("INSERT INTO ligne_command (Id_command,
           code_produit, Price_line, Quantity)
         VALUES(?, ?, ?, ?");
         $row = $req->execute(array($id_com, $code, $sum_line, $qty));
       }
     
      		//Fin des traitements
      			$query->CloseCursor();
      			header('location:treat_cart.php');
            echo "enregistrement bien effectué!";
      		}
          else
      		{
      			echo'<h1>Envoi interrompu</h1>';
      			echo'<p>Une ou plusieurs erreurs se sont produites pendant l\'inscription</p>';
      			echo'<p>'.$email_erreur1.'</p>';
      			echo'<p>'.$email_erreur2.'</p>';
     
      			echo'<p>Cliquez <a href="./form_customer.php"> ICI </a> pour recommencer</p>';
      		}
         }
      }
      ?>
     
     </body>
     </html>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    De quelle requête parles-tu ?
    As-tu activé les erreurs pdo ?
    Si tu mets un echo juste avant cette requête, est-ce que le echo s'affiche ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. enregistrement dans la base de donnée
    Par car00x dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 03/11/2006, 18h28
  2. Réponses: 1
    Dernier message: 30/07/2006, 20h02
  3. enregistrer dans une base de données
    Par liverbird dans le forum C++Builder
    Réponses: 33
    Dernier message: 12/07/2006, 19h50
  4. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  5. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo