Recuperation de plusieurs id

Résolu/Fermé
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 - Modifié le 23 mars 2019 à 08:08
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 - 3 avril 2019 à 12:07
Salut, besoin d'aide.
Je suis entrain de faire une migration de la procédure de réservation simple de produit vers un panier virtuel.
Dans le projet, les clients avaient l'habitude de réserver un et seul produit par commande. Désormais, je veux maintenant donner la possibilité aux clients de mon site de pouvoir réserver plusieurs produits à la fois pour une même commande.
C'est pour cela que j'ai cherché le tuto du panier. Je suis maintenant au stade de la réservation des produits ajoutés au panier. Malheureusement je ne vois pas d'abord comment enregistrer dans ma base de données, tous les produits sélectionnés par le client (id du produit, nom du produit, prix...). Parceque j'avais l'habitude d'enregistrer le nom, le contact, l'adresse email du client et l'identifiant id du produit que le client resservait dans la table "reservation". Je veux maintenant faire la même chose en enregistrant les informations du client avec les différents id des produits dans son panier. Comment m'y prendre?

Ci-dessous le code de la page de reservation que j'appelle "reservation_globale.php":
<?php 
if(!isset($_SESSION))
{Session_start();}
 
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
 ini_set('display_startup_errors', TRUE);
   // petit test pour voir si le panier existe
 
    if(!isset($_SESSION['achats'])) { echo"<script language='javascript'> document.location.href='liste_pdt.php'; </script> "; }
  /* session_start();
   if(isset($_GET["id"]))
   {
    $id=$_GET["id"];
       $_SESSION['id']=$id;
   }
  $new_id=$_SESSION['id']; */
 
 ?>
  <html>
        <head>
            <meta charset="utf-8">
   <link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
   <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
   <link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                <link rel="stylesheet" type="text/css" href="styl.css" /> 
    <link rel="stylesheet" href="menu_index.css" type ="text/css" /> 
                    <title>produits d'une catégorie</title>
        </head>
            <body>
                <div id="bloc_page">
      <?php include ('config.php');?>
      <?php include('header.php');?> 
     <div class="container"> 
        <div class="row">        
         <form method="POST" action="operation_categories_script.php">
          <div class="container">    
           <div class="row">
            <article class="col-md-12 col-sm-12 col-xs-12 ajuste">
             <div class="panel panel-default">
               <?php                
           $total=0; $count=count($_SESSION['achats']); $tot=0;
           if($count==0){  }
 
            for($i=0;$i<$count;$i++){
           // on parcourt notre tableau session et on ne considère que les lignes encore active
            if($_SESSION['achats'][$i]['statut']==0) {
 
            $id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
 
            $qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité 
 
            require_once('config.php');
            $requete="select * from categories where id_Cat=$id";
            try
             {
              $reslt=$bdd->prepare($requete);
              $reslt->execute();
              $lig3=$reslt->fetch(); $prix=number_format($lig3['prix'],0,'',''); 
             }
             catch(PDOException $e) 
              {
               // en cas d'erreur :
               echo " Erreur ! ".$e->getMessage();
               print_r($reslt);
              } 
            /* <td height='34' class='lie4 zone esp'>{$lig3['nom']}</td>          <td align='center' class='lie4 zone'>$quantite_totale</td>
            <input type='text' value='$qte' name='$i' size='5' class='li3'></td> */
            $tot=$lig3['prix']*$qte;
               $total+=$tot;
            echo"
            <div class='col-md-8 col-sm-8 col-xs-8'>
             <tr></br>
                 
              <td align='center' class='lie zone'>- $qte {$lig3['nom']}(s) </td> dont le prix unitaire est 
              <td align='center' class='lie4 zone'>$prix FCFA</td> = 
              <td align='center' class='lie4 zone'>$tot FCFA</td>
             </tr>
            </div>
            <div class='col-md-4 col-sm-4 col-xs-4'></br>
                <td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
            </div>
            </br></br></br>";
 
           // on incrémente le total
 
           /* $tot=$lig3['prix']*$qte;
            $total+=$tot; */
             }
 
           }
 
                                            $prix1=number_format($total,0,'',' '); 
                                            echo'<tr>
                 <td bgcolor="#0099CC" class="zone lie4 style7 style4">Prix Total à payer =  </td><td class="lie42 zone" align="center">'.$prix1.'FCFA</td>
                                                </tr>           
 
 
             </div>
            </article>
              </div>
                                        </div>';
                                    ?>          
          <div class="container">    
           <div class="row">
               <article class="col-md-12 col-sm-12 col-xs-12 ajuste">
             <div class="panel panel-default">
               <div class="panel-heading"><h2>Donnez vos coordonnées pour la validation de votre réservation!</h2></div>
              <div class="panel-body">
               <table> 
                 <div class="col-md-4 col-sm-4 col-xs-4"> 
                  <td>
                   <label>Nom</label><br/>
                   <input type="text" name="nomC" size="120" class="form-control" required/> <br/>
                   <label>Prénom</label><br/>
                   <input type="text" name="prenomC" size="120"  class="form-control" required/> <br/>
                   <label>Email</label><br/>
                   <input type="email" name="emailC"  class="form-control" required size="120"/> <br/>
                   <label>Contacts</label><br/>
                   <input type="tel" name="cellC" size="120"  class="form-control" required/> </br>
                   <input type="hidden" name="id" value="id" size="20"/> 
                   <input type="submit" name="valider" value="valider" align="right"/> 
                  </td>
                 </div>
                </tr>
                </center>
               </table>
                    </div>
             </div>
            </article>
           </div> 
          </div>
 
         </form>
                                </div> 
                    </div>
            </br></br></br>       
                                        <?php include('footer.php') ?>
                </div>
            <script src="bootstrap/js/jquery.js"> </script>
            <script src="bootstrap/js/bootstrap.min.js"></script>
            </body>
    </html>

Par exemple: Au debut, le client Chirack ne pouvait reserver qu'un seul ordinateur par commande . Et maintenant je veux qu'il puisse réserver un ordinateur, une imprimante, une télévision, des chaussures... tous ensemble dans la même "reservation" et je veux enregistrer les informations du client "Chirack" et tous les produits qu'il a réservés dans son panier. J'ai une table "réservation" à cet effet mais je ne parviens pas effectuer l'enregistrement des différents id des produits du panier. C'est seulement l'id du premier produit qui s'enregistre dans la base. Merci de m'eclaircir...

Voici le code de la page de traitement "traitement_reservation.php"
<?php 
    if(!isset($_SESSION))
    {Session_start();}
 
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
 ini_set('display_startup_errors', TRUE);
 ?>
  <html>
        <head>
            <meta charset="utf-8">
   <link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
   <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
   <link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                <link rel="stylesheet" type="text/css" href="styl.css" /> 
    <link rel="stylesheet" href="menu_index.css" type ="text/css" /> 
                <title>traitement de la reservation</title>
        </head>
            <body>
                <div id="bloc_page">
      <?php include ('config.php');?>
      <?php include('header.php');?> 
     <div class="container"> 
        <div class="row">        
         <form method="POST" action="">
          <div class="container">    
           <div class="row">
            <article class="col-md-12 col-sm-12 col-xs-12 ajuste">
             <div class="panel panel-default">
              <div class="panel-body">
               <?php
               $count=count($_SESSION['achats']);
                                                            if($count==0){  }
               for($i=0;$i<$count;$i++){
               if($_SESSION['achats'][$i]['statut']!=0) 
                   {
                                                                    $id=$_SESSION['achats'][$i]['id1'];  // on recupère l'id
                   }
                $identifiants=$id; 
               }
 
               if (isset($_POST['valider']))
                {
                 $nomC=$_POST['nomC'];
                 $prenomC=$_POST['prenomC'];
                 $emailC=$_POST['emailC'];
                 $cellC=$_POST['cellC'];
                 $id=$_SESSION['id'];
 
                 echo "<center><h3><u> Vérifiez vos coordonnées svp </u></h3></center>";
                 echo'<div class="col-md-3 col-sm-4 col-xs-4">
                         <h3>Nom et prénom: </br></br>Adresse email: </br></br>Téléphones: </br></br>Les produits numéro:</h3>
                  </div>
                  <div class="col-md-9 col-sm-8 col-xs-8">
                      <h3>'.$nomC.' ' .$prenomC.' </br></br>'.$emailC.' </br></br>'.$cellC.'</br></br> '.$id.', '.$id.', '.$id.'</h3>
                  </div> 
 
                 <form method="POST" action="">
                  <input type="hidden" name="nomC2" value="'.$nomC.'" /> 
                  <input type="hidden" name="prenomC2" value="'.$prenomC.'" /> 
                  <input type="hidden" name="emailC2" value="'.$emailC.'" />
                  <input type="hidden" name="cellC2" value="'.$cellC.'" />
                  <input type="hidden" name="id2" value="'.$id.'" /></br></br></br>
                  <input class="annuler ch1" type="submit" name="annuler" value="Annuler" />
                  <input class="ch2" type="submit" name="confirmer" value="Confirmer" />
                 </form>';
                } 
               ?>
                 <?php 
                  if(isset($_POST['confirmer']))
                  {   
                   $nomC2=isset($_POST['nomC2']) ? $_POST['nomC2'] : '' ;
                   $prenomC2=isset($_POST['prenomC2']) ? $_POST['prenomC2'] : '';
                   $emailC2=isset($_POST['emailC2']) ? $_POST['emailC2'] : '';
                   $cellC2=isset($_POST['cellC2']) ? $_POST['cellC2'] : '';
                   $id2=isset($_POST['id2']) ? $_POST['id2'] : '';
 
                    $req1 = "INSERT INTO clients(nomC, prenomC, emailC, cellC) VALUES(:nomC2, :prenomC2, :emailC2, :cellC2)";
 
                    $datas = array(':nomC2'=>$nomC2, ':prenomC2'=>$prenomC2, ':emailC2'=>$emailC2, ':cellC2'=>$cellC2);   
                    try 
                     {
                      $requete = $bdd -> prepare($req1);
                      $requete->execute($datas) ; 
                     }catch(Exception $e)
                     {
                      // en cas d'erreur :
                      echo " Erreur ! ".$e->getMessage();
                      echo " Les datas : " ;
                      print_r($datas);
                     }
                     /* $req1->closeCursor(); */
 
                     $last_id_in_client = $bdd->lastInsertId();
                   try 
                    {               
                     $req2=$bdd->prepare('INSERT INTO reservation_categories(idC, id_Cat, date_reservation) VALUES(:last_id_in_client, :id2, NOW())');
                     $req2->execute(array(':last_id_in_client'=>$last_id_in_client, 
                          ':id2'=>$id2)) or die (print_r($req->errorInfo()));
                          $req2->closeCursor();
                          echo'<h3> Réservation faite avec succès!</h3> </br><h3><a href="categories.php">Faire une autre réservation!</a></h3>';
                    }catch(Exception $e)
                     {
                      // en cas d'erreur :
                      echo " Erreur ! ".$e->getMessage();
                      echo " Les datas : " ;
                      print_r($req2);
                     }
 
                  }else if(isset($_POST['annuler']))
                    {
                     header('Location:index.php');
                    }
                   ?>
              </div>
             </div>
            </article>
              </div>
                                        </div>                   
         </form>
                                </div> 
                    </div>
            </br></br></br>       
                                        <?php include('footer.php') ?>
                </div>
            <script src="bootstrap/js/jquery.js"> </script>
            <script src="bootstrap/js/bootstrap.min.js"></script>
            </body>
    </html>

5 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
23 mars 2019 à 08:18
Bonjour,

C'est un sacré bazarre ton code.... il serait bien de le remettre un peu au propre... en commençant par appliquer ce qui est indiqué dans ce lien ( la parti "séparer le code php du html" par exemple ) https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code


Ensuite, ton souci semble se situer ici :
try {               
	   $req2=$bdd->prepare('INSERT INTO reservation_categories(idC, id_Cat, date_reservation) VALUES(:last_id_in_client, :id2, NOW())');
	   $req2->execute(array(':last_id_in_client'=>$last_id_in_client, 
		  ':id2'=>$id2)) or die (print_r($req->errorInfo()));
	   $req2->closeCursor();
	 echo'<h3> Réservation faite avec succès!</h3> </br><h3><a href="categories.php">Faire une autre réservation!</a></h3>';
	}catch(Exception $e){
	  // en cas d'erreur :
	  echo " Erreur ! ".$e->getMessage();
	  echo " Les datas : " ;
	  print_r($req2);
	 }

Au passage... le bout de ligne
or die (print_r($req->errorInfo())); 
est inutile vu que tu es dans un try catch...

car oui... tu ne fais qu'un seul insert.....
Toi.. il faut désormais que tu boucles sur les données de ton panier.
Il suffit donc de jouer le execute avec les différentes valeurs
un truc du genre :

foreach($panier as $id_produit ){
  $req2->execute(array(':last_id_in_client'=>$last_id_in_client, 
		  ':id2'=>$id_produit )) 
}


la variable $panier représentant ta variable de SESSION contenant tes produits bien évidemment


0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
23 mars 2019 à 11:27
Merci Jordane45,
Cependant pouvez-vous me dire dans quelle partie dois-je mettre cette boucle "foreach" svp?
J'ai actuellement mis le foreach dans le try, mais ça coince pour les "id" des produits.
Le problème se trouve probablement dans la partie requette que vous avez indiquée, mais il ya un problème au niveau de la récupération des "id" des produits contenus dans le panier. Car j'avais l'habitude de recupérer un seul "id" avec la superglobale GET[], ça coince actuellement parceque je ne sais pas comment récupérer les "id" des produits contenus dans le panier.
Merci pour l'éclairicssement.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
23 mars 2019 à 11:28
Je t'ai dit de commencer par refaire ton code plus propre en suivant le lien que je t'ai donné.
Je n'interviendrai plus dans cette discussion tant que ça n'aura pas été fait.
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
24 mars 2019 à 08:05
Ok salut Jordane 45,
J'ai suivi vos conseils et j'ai fais les modifications que vous souhaitiez.
Voici le code modifié dans lequel on m'affiche maintenant les erreurs suivantes:
1- Notice: Undefined offset: 2 in C:\wamp\www\PROMO_SHOP_PANIER\traitement_reservation.php on line 47
2- Notice: Undefined variable: id in C:\wamp\www\PROMO_SHOP_PANIER\traitement_reservation.php on line 62

<?php 
    if(!isset($_SESSION))
    {Session_start();}

    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
	ini_set('display_startup_errors', TRUE);
	?>
  <html>
        <head>
            <meta charset="utf-8">
			<link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
			<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
			<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                <link rel="stylesheet" type="text/css" href="styl.css" /> 
				<link rel="stylesheet" href="menu_index.css" type ="text/css" /> 
                <title>traitement de la reservation</title>
        </head>
            <body>
                <div id="bloc_page">
						<?php include ('config.php');?>
						<?php include('header.php');?> 
					<div class="container"> 
								<div class="row">								
									<form method="POST" action="">
										<div class="container">    
											<div class="row">
												<article class="col-md-12 col-sm-12 col-xs-12 ajuste">
													<div class="panel panel-default">
														<div class="panel-body">
															<?php
															$count=count($_SESSION['achats']);
                                                            if($count==0){  }
															for($i=0;$i<$count;$i++){
															if($_SESSION['achats'][$i]['statut']!=0) 
															    {
                                                                    $id=$_SESSION['achats'][$i]['id1'];		// on recupère l'id
															    }
															}
																
															if (isset($_POST['valider']))
																{
																	$nomC=$_POST['nomC'];
																	$prenomC=$_POST['prenomC'];
																	$emailC=$_POST['emailC'];
																	$cellC=$_POST['cellC'];
																	$id_produit=$_SESSION['achats'][$i]['id_produit'];
																	
																	echo "<center><h3><u> Vérifiez vos coordonnées svp </u></h3></center>";
																	echo'<div class="col-md-3 col-sm-4 col-xs-4">
																	        <h3>Nom et prénom: </br></br>Adresse email: </br></br>Téléphones: </br></br>Les produits numéro:</h3>
																		</div>
																		<div class="col-md-9 col-sm-8 col-xs-8">
																		    <h3>'.$nomC.' ' .$prenomC.' </br></br>'.$emailC.' </br></br>'.$cellC.'</br></br> '.$id_produit.'</h3>
																		</div> 
																		
																	<form method="POST" action="">
																		<input type="hidden" name="nomC2" value="'.$nomC.'" /> 
																		<input type="hidden" name="prenomC2" value="'.$prenomC.'" /> 
																		<input type="hidden" name="emailC2" value="'.$emailC.'" />
																		<input type="hidden" name="cellC2" value="'.$cellC.'" />
																		<input type="hidden" name="id2" value="'.$id.'" /></br></br></br>
																		<input class="annuler ch1" type="submit" name="annuler" value="Annuler" />
																		<input class="ch2" type="submit" name="confirmer" value="Confirmer" />
																	</form>';
																} 
															?>
																	<?php 
																		if(isset($_POST['confirmer']))
																		{   
																			$nomC2=isset($_POST['nomC2']) ? $_POST['nomC2'] : '' ;
																			$prenomC2=isset($_POST['prenomC2']) ? $_POST['prenomC2'] : '';
																			$emailC2=isset($_POST['emailC2']) ? $_POST['emailC2'] : '';
																			$cellC2=isset($_POST['cellC2']) ? $_POST['cellC2'] : '';
																			$id2=isset($_POST['id2']) ? $_POST['id2'] : '';
																				
																				$req1 = "INSERT INTO clients(nomC, prenomC, emailC, cellC) VALUES(:nomC2, :prenomC2, :emailC2, :cellC2)";
																					
																				$datas = array(':nomC2'=>$nomC2, ':prenomC2'=>$prenomC2, ':emailC2'=>$emailC2, ':cellC2'=>$cellC2);			
																				try 
																					{
																						$requete = $bdd -> prepare($req1);
																						$requete->execute($datas) ;	
																					}catch(Exception $e)
																					{
																						// en cas d'erreur :
																						echo " Erreur ! ".$e->getMessage();
																						echo " Les datas : " ;
																						print_r($datas);
																					}
																					
																					
																					$last_id_in_client = $bdd->lastInsertId();
																			try 
																				{															
																					$req2=$bdd->prepare('INSERT INTO reservation_categories(idC, id_Cat, date_reservation) VALUES(:last_id_in_client, :id2, NOW())');
																					// $req2->execute(array(':last_id_in_client'=>$last_id_in_client, 
																										// ':id2'=>$id2));
																					foreach($panier as $id_produit )
																				    {
                                                                                        $req2->execute(array(':last_id_in_client'=>$last_id_in_client, 
		                                                                                                     ':id2'=>$id_produit )); 
                                                                                    }
																										
																										$req2->closeCursor();
																										echo'<h3> Réservation faite avec succès!</h3> </br><h3><a href="categories.php">Faire une autre réservation!</a></h3>';
																				}catch(Exception $e)
																					{
																						// en cas d'erreur :
																						echo " Erreur ! ".$e->getMessage();
																						echo " Les datas : " ;
																						print_r($req2);
																					}
																					
																				/* foreach($panier as $id_produit )
																				    {
                                                                                        $req2->execute(array(':last_id_in_client'=>$last_id_in_client, 
		                                                                                                     ':id2'=>$id_produit )); 
                                                                                    } */

																		}else if(isset($_POST['annuler']))
																				{
																					header('Location:index.php');
																				}
																	  ?>
														</div>
													</div>
												</article>
										    </div>
                                        </div>																			
									</form>
                                </div>	
                    </div>
				        </br></br></br>							
                                        <?php include('footer.php') ?>
                </div>
				        <script src="bootstrap/js/jquery.js">	</script>
				        <script src="bootstrap/js/bootstrap.min.js"></script>
            </body>
    </html>
	                                                        

Mon souhait est de pouvoir récupérer les id de tous les produits contenus dans le panier du client pour les enregistrer tous dans un champ.
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
26 mars 2019 à 09:59
Salut,
quelqu'un peut m'aider svp?
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié le 26 mars 2019 à 11:12

J'ai suivi vos conseils et j'ai fais les modifications que vous souhaitiez.

Pas totalement... tu as encore beaucoup de PHP que tu pourrais déplacer au dessus de ton code html....


Ensuite, pour ton besoin... sais tu faire des boucles en php ? ( des boucles FOREACH ) ??
Car, ce n'est que ça....

$panier = !empty($_SESSION['achats']) ? $_SESSION['achats'] : NULL;


$sql = "INSERT INTO reservation_categories(idC, id_Cat, date_reservation) 
              VALUES(:last_id_in_client, :id2, NOW())";
try {
  $requete = $bdd->prepare($sql);
  if($panier){
     foreach($panier as $produit ){
         $id_produit =  $panier['id_produit'] ;
         $datas = array(':last_id_in_client' => $last_id_in_client,
                                ':id2' => $id_produit);
          $requete->execute($datas);
      }
   }
 } catch (Exception $e) {
    // en cas d'erreur :
    echo " Erreur ! " . $e->getMessage();
    echo " Les datas : ";
    print_r($datas);
 }
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
26 mars 2019 à 12:51
J'ai essayé votre procédure mais il n'y a pas de changement. Le problème est au même niveau.
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
26 mars 2019 à 13:00
Montre nous ce que contient ta variable de session
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
26 mars 2019 à 14:26
Voici le resultat du var_dump($session);
array (size=4)
'nbre' => int 11
'id' => string '1' (length=1)
'panier' =>
array (size=2)
1 =>
array (size=5)
'id_produit' => int 1
'produit' => string 'produit 1' (length=9)
'qte' => int 35
'prix_unitaire' => int 10
'prix_Total' => int 350
'qteProduit' =>
array (size=1)
'' => int 0
'achats' =>
array (size=3)
0 =>
array (size=3)
'id1' => string '4' (length=1)
'statut' => int 0
'qte' => string '4' (length=1)
1 =>
array (size=3)
'id1' => string '9' (length=1)
'statut' => int 0
'qte' => string '5' (length=1)
2 =>
array (size=3)
'id1' => string '10' (length=2)
'statut' => int 0
'qte' => string '2' (length=1)
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
26 mars 2019 à 15:58
Arf..
Ta variable de session c'est panier ... pas achats.

Il faut donc modifier la ligne de code
$panier = !empty($_SESSION['achats']) ? $_SESSION['achats'] : NULL;


en
$panier = !empty($_SESSION['panier']) ? $_SESSION['panier'] : NULL;


Tu aurais pu ( Dù ! ) le voir je pense....

Enfin bon.. tu comprends le principe...le code est à adapter à tes besoins.... suffit pas juste de copier/coller sans regarder.
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
27 mars 2019 à 11:33
Voic le code de ma page "panier.php"
<?php
// ouverture d'une session car le contenu du panier sera stocké dans un tableau session
if(!isset($_SESSION))
{Session_start();}
    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
	ini_set('display_startup_errors', TRUE);

$id=$_GET['id'];  // récupération de l'id du produit

// fonction d'ajout du produit dans le panier, elle initialise la variable $_SESSION['panier']

 function add($code,$qt)  
    { 
        $_SESSION['achats'][] = array ("id1" => $code,"statut"=> 0,"qte"=>$qt); 
    } 
// on teste si la variable $_SESSION['achat'][] existe

if(isset($_SESSION['achats'])){                
// les lignes de code ci-dessous servent à incrémenter la quantité du produit dans le panier, ainsi chaque fois que l'on choisit d'ajouter un produit, un test est fait pour savoir s'il existe déjà dans le panier ou pas.        

$count1 = count($_SESSION['achats']);  $tab=array(); $tab1=array();

 for($i=0;$i<$count1;$i++) 

     { $tab[$i]=$_SESSION['achats'][$i]['id1']; $tab1[$i]=$_SESSION['achats'][$i]['statut']; }

 if(!in_array($id,$tab)){ add($id,'1');  }

 else {

   for($j=0;$j<$count1;$j++) {

       if($id==$tab[$j]) {

      if($_SESSION['achats'][$j]['statut']==0) { $q=$_SESSION['achats'][$j]['qte']; $q++; $_SESSION['achats'][$j]['qte']=$q; 
	   //Modifications	  $nbr1=$q;
	   }

      else { add($id,'1');  }

   }
       }
	    /* while($j=0;$j<$count1;$j++){$quantite_totale=$nbr1+$nbr1;} */
  }
}
// si la variable n'existe, on l'initialise

 else {add($id,'1'); }
 
 $nbre=0;

$count = count($_SESSION['achats']); 
// calcul du nombre de produit dans le panier

 for($i=0;$i<$count;$i++) 
     { 
 if($_SESSION['achats'][$i]['statut']=='0') { $nbre+=$_SESSION['achats'][$i]['qte']; } }

// stockage du nombre de produit dans une variable session
 $_SESSION['nbre']=$nbre;
 /* $_SESSION['quantite_totale']=$quantite_totale; */
// redirection après insertion dans le panier
echo"<script language='javascript'>
document.location.href='mon_panier.php';
</script>
 ";        

?>

Ensuite, voici le code de ma page "mon-panier.php"
<!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
			<link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
			<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
			<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                <link rel="stylesheet" type="text/css" href="styl.css" /> 
				<link rel="stylesheet" href="menu_index.css" type ="text/css" /> 
                    <title> votre panier </title>
        </head>
            <body>
                <div id="bloc_page">
						    <?php include('header.php');?> 
                                <div class="container"> 
                                    <div class="row">
								        <section class="col-md-12 col-sm-12 col-xs-12" id="partag">
										    <div class="row">
										        <?php
if(!isset($_SESSION))
{Session_start();}

    error_reporting(E_ALL);
    ini_set('display_errors', TRUE);
	ini_set('display_startup_errors', TRUE);
// petit test pour voir si le panier existe

if(!isset($_SESSION['achats'])) { echo"<script language='javascript'>
document.location.href='liste_pdt.php';
</script>
 ";         }
 /* $_SESSION['quantite_totale']=$quantite_totale; */
?>

<script language="javascript">
// script javascript pour le dynamisme de notre page

function fin(){
if(confirm("Voulez vous vraiment annuler votre commande ?")){
document.location.href="fin_achat.php"; }
}

function effacer(val){
if(confirm("Voulez vous vraiment effacer ce produit de votre panier ?")) { document.location.href="effacer.php?id="+val;   }
}

function payer(){
if(confirm("Voulez vous vraiment valider cette commande ?")){
document.location.href="reservation_globale.php"; }
}
</script>

 <?php
$total=0; $count=count($_SESSION['achats']); $tot=0;
if($count==0){  }

else{
// le code suivant liste le contenu du panier et nous donne la possibilité de supprimer ou de modifier les quantités des produits du panier
?>

<form action="calcul.php" method="post">

<table border='0' CellSpace='2' CellPad='0' width='638'>
    <center><h1><u>CONTENU DE VOTRE PANIER</u><h1></center>
<?php

for($i=0;$i<$count;$i++){
// on parcourt notre tableau session et on ne considère que les lignes encore 

 if($_SESSION['achats'][$i]['statut']==0) {

    $id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
  
    $qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité 
		
	require_once('config.php');
	$requete="select nom, prix from categories where id_Cat=$id";
	try
	    {
			$reslt=$bdd->prepare($requete);
			$reslt->execute();
			$lig3=$reslt->fetch(); $prix=number_format($lig3['prix'],0,'',''); 
		}
		catch(PDOException $e) 
		    {
                // en cas d'erreur :
                echo " Erreur ! ".$e->getMessage();
                print_r($reslt);
            }	
	/* <td height='34' class='lie4 zone esp'>{$lig3['nom']}</td>          <td align='center' class='lie4 zone'>$quantite_totale</td>*/
    echo"
	<div class='col-md-8 col-sm-7 col-xs-7'>
		<tr>
		<td height='34'  align='center' class='lie4 zone'>{$lig3['nom']}</td>
		<td align='center' class='lie zone'><input type='text' value='$qte' name='$i' size='5' class='li3'></td>
		<td align='center' class='lie4 zone'>$prix FCFA</td>
		<td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
		</tr>
	</div>";

// on incrémente le total

$tot=$lig3['prix']*$qte;
 $total+=$tot;
  }
  	
}
echo"
	<div class='col-md-4 col-md-5 col-md-5'>
	<a href='index.php'>Ajouter un autre produit au panier</a>
	</div>";
	
$prix1=number_format($total,0,'',' ');

?>

<tr><td colspan="5"> </td></tr>
<tr><td> </td><td bgcolor="#0099CC" class="zone lie4 style7 style4">Prix Total : </td><td class='lie42 zone' align="center"><?php echo $prix1 ?> FCFA</td><td> </td>
  <td> </td>
</tr>

<tr><td colspan="5"> </td></tr>                         
    <tr>
	    <td colspan="2">
            <div align="center">
                  <input name="Button2" type="button" class="text6" onclick="fin()" value="Annuler la commande" />
            </div>
		</td>
		<td>
		    <div align="center">
                <input name="Button" type="submit" class="text6" value="Recalculer" />
            </div>
		</td>
		<td>
		    <div align="center">
                <input name="Button" type="button" class="text6" value="Valider" onclick="payer()" />         
				<input name="Button2" type="button" class="text6" onclick="fin()" value="Vider le panier" />
            </div>
		</td>
    </tr>

</table>
</form>
<?php
}
?>
												
											</div>
									    </section>
									
									</div>
                                </div>	
								</br></br></br>							
                                        <?php include('footer.php') ?>
                </div>
				        <script src="bootstrap/js/jquery.js">	</script>
				        <script src="bootstrap/js/bootstrap.min.js"></script>
            </body>
    </html>
	                                                        
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
27 mars 2019 à 11:44
Donc... ton code d'ajout :
$_SESSION['achats'][] = array ("id1" => $code,"statut"=> 0,"qte"=>$qt);

Tu as donc la clé : id1
c'est donc bien là dessus que tu dois faire ta boucle...

$panier = !empty($_SESSION['achats']) ? $_SESSION['achats'] : NULL;


$sql = "INSERT INTO reservation_categories(idC, id_Cat, date_reservation) 
              VALUES(:last_id_in_client, :id2, NOW())";
try {
  $requete = $bdd->prepare($sql);
  if($panier){
     foreach($panier as $produit ){
         $id_produit =  $panier['id1'] ;
         $datas = array(':last_id_in_client' => $last_id_in_client,
                                ':id2' => $id_produit);
          $requete->execute($datas);
      }
   }
 } catch (Exception $e) {
    // en cas d'erreur :
    echo " Erreur ! " . $e->getMessage();
    echo " Les datas : ";
    print_r($datas);
 }


0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
27 mars 2019 à 23:15
Salut jordane45,
ça commence à aller. J'ai fais les modifications. Les enregistrements se font dans la base mais la colonne id_Cat reçoit des valeurs NULL dans la table reservation_categories et voici l'erreur qui s'affiche:
Undefined index: id1 in C:\wamp\www\PROMO_SHOP_PANIER\traitement_reservation_final.php on line 136
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021
28 mars 2019 à 06:53
Sans voir ton code modifié... Impossible de te répondre
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
28 mars 2019 à 15:58
Voici mon code modifié:
<?php 
    if(!isset($_SESSION))
    {Session_start();}
	?>
  <html>
        <head>
            <meta charset="utf-8">
			<link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
			<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
			<link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                <link rel="stylesheet" type="text/css" href="styl.css" /> 
				<link rel="stylesheet" href="menu_index.css" type ="text/css" /> 
                <title>traitement de la reservation</title>
        </head>
            <body>
                <div id="bloc_page">
						<?php include ('config.php');?>
						<?php include('header.php');?> 
					<div class="container"> 
								<div class="row">								
									<form method="POST" action="">
										<div class="container">    
											<div class="row">
												<article class="col-md-12 col-sm-12 col-xs-12 ajuste">
													<div class="panel panel-default">
														<div class="panel-body">
															<?php
															error_reporting(E_ALL);
                                                            ini_set('display_errors', TRUE);
	                                                        ini_set('display_startup_errors', TRUE);
															
															$total=0; $count=count($_SESSION['achats']); $tot=0;
											if($count==0){  }

												for($i=0;$i<$count;$i++){
											  // on parcourt notre tableau session et on ne considère que les lignes encore active
											 if($_SESSION['achats'][$i]['statut']==0) {

												$id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
											  
												$qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité 
													
												require_once('config.php');
												$requete="select * from categories where id_Cat=$id";
												try
													{
														$reslt=$bdd->prepare($requete);
														$reslt->execute();
														$lig3=$reslt->fetch(); $prix=number_format($lig3['prix'],0,'',''); 
													}
													catch(PDOException $e) 
														{
															// en cas d'erreur :
															echo " Erreur ! ".$e->getMessage();
															print_r($reslt);
														}	
												$tot=$lig3['prix']*$qte;
											    $total+=$tot;
												echo"
												<div class='col-md-8 col-sm-8 col-xs-8'>
													<tr></br>
													    
														<td align='center' class='lie zone'>- $qte {$lig3['nom']}(s) </td> dont le prix unitaire est 
														<td align='center' class='lie4 zone'>$prix FCFA</td> = 
														<td align='center' class='lie4 zone'>$tot FCFA</td>
													</tr>
												</div>
												<div class='col-md-4 col-sm-4 col-xs-4'></br>
												    <td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
												</div>
												</br></br></br>";
											  }
												
											}																
															if (isset($_POST['valider']))
																{
																	$nomC=$_POST['nomC'];
																	$prenomC=$_POST['prenomC'];
																	$emailC=$_POST['emailC'];
																	$cellC=$_POST['cellC'];
																	/* $id_produit=$_SESSION['achats'][$i]['id_produit']; */
																	
																	echo "<center><h3><u> Vérifiez vos coordonnées svp </u></h3></center>";
																	echo'<div class="col-md-3 col-sm-4 col-xs-4">
																	        <h3>Nom et prénom: </br></br>Adresse email: </br></br>Téléphones: </br></br>Les produits numéro:</h3>
																		</div>
																		<div class="col-md-9 col-sm-8 col-xs-8">
																		    <h3>'.$nomC.' ' .$prenomC.' </br></br>'.$emailC.' </br></br>'.$cellC.'</br></br> </h3>
																		</div> 
																		
																	<form method="POST" action="">
																		<input type="hidden" name="nomC2" value="'.$nomC.'" /> 
																		<input type="hidden" name="prenomC2" value="'.$prenomC.'" /> 
																		<input type="hidden" name="emailC2" value="'.$emailC.'" />
																		<input type="hidden" name="cellC2" value="'.$cellC.'" />
																		<input type="hidden" name="id2" value="'.$id.'" /></br></br></br>
																		<input class="annuler ch1" type="submit" name="annuler" value="Annuler" />
																		<input class="ch2" type="submit" name="confirmer" value="Confirmer" />
																	</form>';
																} 
															?>
																	<?php 
																		if(isset($_POST['confirmer']))
																		{   
																			$nomC2=isset($_POST['nomC2']) ? $_POST['nomC2'] : '' ;
																			$prenomC2=isset($_POST['prenomC2']) ? $_POST['prenomC2'] : '';
																			$emailC2=isset($_POST['emailC2']) ? $_POST['emailC2'] : '';
																			$cellC2=isset($_POST['cellC2']) ? $_POST['cellC2'] : '';
																			$id2=isset($_POST['id2']) ? $_POST['id2'] : '';
																				
																				$req1 = "INSERT INTO clients(nomC, prenomC, emailC, cellC) VALUES(:nomC2, :prenomC2, :emailC2, :cellC2)";
																					
																				$datas = array(':nomC2'=>$nomC2, ':prenomC2'=>$prenomC2, ':emailC2'=>$emailC2, ':cellC2'=>$cellC2);			
																				try 
																					{
																						$requete = $bdd -> prepare($req1);
																						$requete->execute($datas) ;	
																					}catch(Exception $e)
																					{
																						// en cas d'erreur :
																						echo " Erreur ! ".$e->getMessage();
																						echo " Les datas : " ;
																						print_r($datas);
																					}
																					
																					$last_id_in_client = $bdd->lastInsertId();

																					$panier = !empty($_SESSION['achats']) ? $_SESSION['achats'] : NULL;

																					$sql = "INSERT INTO reservation_categories(idC, id_Cat, date_reservation) 
																								  VALUES(:last_id_in_client, :id2, NOW())";
																					try {
																					  $requete = $bdd->prepare($sql);
																					  if($panier){
																						 foreach($panier as $produit ){
																							 $id_produit =  $panier['id1'] ;
																							 $datas = array(':last_id_in_client' => $last_id_in_client,
																													':id2' => $id_produit);
																							  $requete->execute($datas);
																						  }
																					   }
																					 } catch (Exception $e) {
																						// en cas d'erreur :
																						echo " Erreur ! " . $e->getMessage();
																						echo " Les datas : ";
																						print_r($datas);
																					 }
																		}else if(isset($_POST['annuler']))
																				{
																					header('Location:index.php');
																				}
																	  ?>
														</div>
													</div>
												</article>
										    </div>
                                        </div>																			
									</form>
                                </div>	
                    </div>
				        </br></br></br>							
                                        <?php include('footer.php') ?>
                </div>
				        <script src="bootstrap/js/jquery.js">	</script>
				        <script src="bootstrap/js/bootstrap.min.js"></script>
            </body>
    </html>
	                                   
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
28 mars 2019 à 17:32
$panier = !empty($_SESSION['achats']) ? $_SESSION['achats'] : NULL;

$sql = "INSERT INTO reservation_categories(idC, id_Cat, date_reservation) 
        VALUES(:last_id_in_client, :id2, NOW())";
try {
  $requete = $bdd->prepare($sql);
  if($panier){
    foreach($panier as $produit ){
      $id_produit =  !empty($panier['id1']) ? $panier['id1'] : NULL ;
      if($id_produit){
        $datas = array(':last_id_in_client' => $last_id_in_client,
                ':id2' => $id_produit);
        $requete->execute($datas);
     }
    }
  }
} catch (Exception $e) {
  // en cas d'erreur :
  echo " Erreur ! " . $e->getMessage();
  echo " Les datas : ";
  print_r($datas);
}
0
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
Modifié le 29 mars 2019 à 09:39
Jordane45, je pense que c'est plutôt le code ci-dessous que nous devons chercher à améliorer car j'arrive à avoir des enregistrements dans les 2 tables avec celui-ci. Alors que celui que vous venez de faire ne produit aucun d'enregistrement dans la table "reservation_categories". Donc visitons bien celui-ci pour retrouver l'erreur et la corriger svp.
<?php 
    if(!isset($_SESSION))
    {Session_start();}
 ?>
  <html>
        <head>
            <meta charset="utf-8">
   <link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
   <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" />
   <link rel="stylesheet" href="bootstrap/css/bootstrap-theme.min.css"/>
                <link rel="stylesheet" type="text/css" href="styl.css" /> 
    <link rel="stylesheet" href="menu_index.css" type ="text/css" /> 
                <title>traitement de la reservation</title>
        </head>
            <body>
                <div id="bloc_page">
      <?php include ('config.php');?>
      <?php include('header.php');?> 
     <div class="container"> 
        <div class="row">        
         <form method="POST" action="">
          <div class="container">    
           <div class="row">
            <article class="col-md-12 col-sm-12 col-xs-12 ajuste">
             <div class="panel panel-default">
              <div class="panel-body">
               <?php
               error_reporting(E_ALL);
                                                            ini_set('display_errors', TRUE);
                                                         ini_set('display_startup_errors', TRUE);
               
               $total=0; $count=count($_SESSION['achats']); $tot=0;
           if($count==0){  }

            for($i=0;$i<$count;$i++){
             // on parcourt notre tableau session et on ne considère que les lignes encore active
            if($_SESSION['achats'][$i]['statut']==0) {

            $id=$_SESSION['achats'][$i]['id1']; // on recupère l'id
             
            $qte=$_SESSION['achats'][$i]['qte']; // de même que la quantité 
             
            require_once('config.php');
            $requete="select * from categories where id_Cat=$id";
            try
             {
              $reslt=$bdd->prepare($requete);
              $reslt->execute();
              $lig3=$reslt->fetch(); $prix=number_format($lig3['prix'],0,'',''); 
             }
             catch(PDOException $e) 
              {
               // en cas d'erreur :
               echo " Erreur ! ".$e->getMessage();
               print_r($reslt);
              } 
            $tot=$lig3['prix']*$qte;
               $total+=$tot;
            echo"
            <div class='col-md-8 col-sm-8 col-xs-8'>
             <tr></br>
                 
              <td align='center' class='lie zone'>- $qte {$lig3['nom']}(s) </td> dont le prix unitaire est 
              <td align='center' class='lie4 zone'>$prix FCFA</td> = 
              <td align='center' class='lie4 zone'>$tot FCFA</td>
             </tr>
            </div>
            <div class='col-md-4 col-sm-4 col-xs-4'></br>
                <td align='center' class='lie zone'><a href='#' onclick='effacer($id)' class='lie41'>Effacer</a></td>
            </div>
            </br></br></br>";
             }
            
           }                
               if (isset($_POST['valider']))
                {
                 $nomC=$_POST['nomC'];
                 $prenomC=$_POST['prenomC'];
                 $emailC=$_POST['emailC'];
                 $cellC=$_POST['cellC'];
                 /* $id_produit=$_SESSION['achats'][$i]['id_produit']; */
                 
                 echo "<center><h3><u> Vérifiez vos coordonnées svp </u></h3></center>";
                 echo'<div class="col-md-3 col-sm-4 col-xs-4">
                         <h3>Nom et prénom: </br></br>Adresse email: </br></br>Téléphones: </br></br>Les produits numéro:</h3>
                  </div>
                  <div class="col-md-9 col-sm-8 col-xs-8">
                      <h3>'.$nomC.' ' .$prenomC.' </br></br>'.$emailC.' </br></br>'.$cellC.'</br></br> </h3>
                  </div> 
                  
                 <form method="POST" action="">
                  <input type="hidden" name="nomC2" value="'.$nomC.'" /> 
                  <input type="hidden" name="prenomC2" value="'.$prenomC.'" /> 
                  <input type="hidden" name="emailC2" value="'.$emailC.'" />
                  <input type="hidden" name="cellC2" value="'.$cellC.'" />
                  <input type="hidden" name="id2" value="'.$id.'" /></br></br></br>
                  <input class="annuler ch1" type="submit" name="annuler" value="Annuler" />
                  <input class="ch2" type="submit" name="confirmer" value="Confirmer" />
                 </form>';
                } 
               ?>
                 <?php 
                  if(isset($_POST['confirmer']))
                  {   
                   $nomC2=isset($_POST['nomC2']) ? $_POST['nomC2'] : '' ;
                   $prenomC2=isset($_POST['prenomC2']) ? $_POST['prenomC2'] : '';
                   $emailC2=isset($_POST['emailC2']) ? $_POST['emailC2'] : '';
                   $cellC2=isset($_POST['cellC2']) ? $_POST['cellC2'] : '';
                   $id2=isset($_POST['id2']) ? $_POST['id2'] : '';
                    
                    $req1 = "INSERT INTO clients(nomC, prenomC, emailC, cellC) VALUES(:nomC2, :prenomC2, :emailC2, :cellC2)";
                     
                    $datas = array(':nomC2'=>$nomC2, ':prenomC2'=>$prenomC2, ':emailC2'=>$emailC2, ':cellC2'=>$cellC2);   
                    try 
                     {
                      $requete = $bdd -> prepare($req1);
                      $requete->execute($datas) ; 
                     }catch(Exception $e)
                     {
                      // en cas d'erreur :
                      echo " Erreur ! ".$e->getMessage();
                      echo " Les datas : " ;
                      print_r($datas);
                     }
                     
                     $last_id_in_client = $bdd->lastInsertId();

                     $panier = !empty($_SESSION['achats']) ? $_SESSION['achats'] : NULL;

                     $sql = "INSERT INTO reservation_categories(idC, id_Cat, date_reservation) 
                          VALUES(:last_id_in_client, :id2, NOW())";
                     try {
                       $requete = $bdd->prepare($sql);
                       if($panier){
                       foreach($panier as $produit ){
                        $id_produit =  $panier['id1'] ;
                        $datas = array(':last_id_in_client' => $last_id_in_client,
                             ':id2' => $id_produit);
                         $requete->execute($datas);
                        }
                        }
                      } catch (Exception $e) {
                      // en cas d'erreur :
                      echo " Erreur ! " . $e->getMessage();
                      echo " Les datas : ";
                      print_r($datas);
                      }
                  }else if(isset($_POST['annuler']))
                    {
                     header('Location:index.php');
                    }
                   ?>
              </div>
             </div>
            </article>
              </div>
                                        </div>                   
         </form>
                                </div> 
                    </div>
            </br></br></br>       
                                        <?php include('footer.php') ?>
                </div>
            <script src="bootstrap/js/jquery.js"> </script>
            <script src="bootstrap/js/bootstrap.min.js"></script>
            </body>
    </html>
                                    

Lorsque je valide la commande, il enregistre bien le client dans la table "client", il enregistre bien aussi les id du client dans la table reservation_commande, c'est seulement les id_Cat qu'il met à NULL. Et c'est ce qu'on doit chercher à resoudre pour finaliser. Voici le message d'erreur qui s'affiche pour chacun des produits contenu dans le panier.
Undefined index: id1 in C:\wamp\www\PROMO_SHOP_PANIER\traitement_reservation_final.php on line 136
Il affiche ce message autant de fois qu'il ya de produits dans le panier. C'est à dire qu'il affiche ce message 10 fois s'il ya 10 produits dans le panier, 15 fois s'il y en a 15 produits.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Busima Messages postés 55 Date d'inscription mercredi 10 février 2016 Statut Membre Dernière intervention 29 janvier 2021 1
3 avril 2019 à 12:07
Bonjour jordane45.
J'ai enfin pu resoudre le problème. Je fermais un peu tôt les accolades. De plus j'avais 2 balises php que j'ai résumées en une seule pour pouvoir résoudre le problème.
Merci à vous.
0