problème avec un panier pour un e-commerce

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème avec un panier pour un e-commerce

problème avec un panier pour un e-commerce

par joe0703 » 21 mai 2016, 17:12

bonjour,
je poste ce topic car je suis actuellement dans une impasse.
Je suis entrain de crée un site de e-commerce (je precise pour un devoir comme cela c'est dit ).
Or j'ai actuellement un soucis avec mon panier.
J'ai crée celui-ci
<?php if(session_id()=='') { session_start(); } // TOUJOURS EN HAUT DE SCRIPT
	header('Content-type:text/html; charset=UTF-8');	// encodage UTF-8
	// --------------------------------------
	// protection page membre
	// --------------------------------------
	// si session vide = PAS connecté
	if( empty($_SESSION['user']['login']) )
		{
			// on redirige
			header('location:../elements_inchangeables/connexion/connexion.php'); // OU redirection vers le formualire de CONNEXION !
			exit;
		}
?>

<!------------------------------------------------------------------------------------------------------------------------------------>
<!-- Déclaration du type de document -->
<!------------------------------------------------------------------------------------------------------------------------------------>
			<!DOCTYPE HTML>
			<html>
				<head>
					<title>selection_jeux</title>
				</head>
<!------------------------------------------------------------------------------------------------------------------------------------>	
				<!-- debut du contenu de la partie sombre -->
<!------------------------------------------------------------------------------------------------------------------------------------>												
								<?php
//<!------------------------------------------------------------------------------------------------------------------------------------>						
						// <!-- on verifie que les info est etait transmissent -->
//<!------------------------------------------------------------------------------------------------------------------------------------>						
									if 
										(
											!empty($_POST['id'])
										)
										{
//<!------------------------------------------------------------------------------------------------------------------------------------>								
								//<!-- si oui, on les renomment -->
//<!------------------------------------------------------------------------------------------------------------------------------------>								
											$id_jeu_select= $_POST['id'];	
											$dossier=$_POST['dossier'];
												echo
													$dossier
													;
											$dossier='jeux_d_aventures';
//<!------------------------------------------------------------------------------------------------------------------------------------>
					// Récupération des informations du fichier blocnote (fichier txt).
//<!------------------------------------------------------------------------------------------------------------------------------------>
											//$fileHandle = fopen($dossier, "r+"); 
											$fileHandle = fopen("../../../txt/genre/".$dossier.".txt", "r+");  		  	
//<!------------------------------------------------------------------------------------------------------------------------------------>						
						//  <!-- Ouverture du fichier "jeux_d_aventures.txt" 
//<!------------------------------------------------------------------------------------------------------------------------------------>						 
											if ($fileHandle) 
												{
													?>														
													<form name="selection" id="achat" action="achat_jeux.php" method="post" enctype="multipart/form-data">	
														<table width="100%"style="color=#FFFFFF">
															<thead>
																<tr style="height: 16px" align="center">
																	<td>
																		<font class="font_p" color="#5d8eb3">
																			<b>
																				image
																			</b>
																		</font>
																	</td>
																	<td>
																		<font class="font_p" color="#5d8eb3">
																			<b>
																				nom_du_jeu
																			</b>
																		</font>
																	</td>
																	<td>
																		<font class="font_p" color="#5d8eb3">
																			<b>
																				prix
																			</b>
																		</font>
																	</td>
																	<td >
																		<font class="font_p" color="#5d8eb3">
																			<b>
																				confirmer achat
																			</b>
																		</font>
																	</td>
																</tr>
															</thead>
													<?php															
//<!------------------------------------------------------------------------------------------------------------------------------------>
													// Lecture des lignes du fichier, une par une.
//<!------------------------------------------------------------------------------------------------------------------------------------>
													while (($buffer = fgets($fileHandle, 4096)) !== false) 
														{ 
//<!------------------------------------------------------------------------------------------------------------------------------------>
															// Lecture des lignes du fichier, une par une. -->
//<!------------------------------------------------------------------------------------------------------------------------------------>
															list(
																$id,
																$nom,
																$date_sortie , 
																$nom_image , 
																$choix , 
																$prix ,
																$quantite )
																= explode('|', $buffer);
											//<!------------------------------------------------------------------------------------------------------------------------------------>		
															// Séparation des données de la ligne en cours en fonction du caractère "|". -->
											//<!------------------------------------------------------------------------------------------------------------------------------------>	
														if (in_array($id,$id_jeu_select))
															{
																$total[]=$prix;
//<!------------------------------------------------------------------------------------------------------------------------------------>
//<!-- on affiche les infos des jeux dans chaque ligne du tableau-->
//<!------------------------------------------------------------------------------------------------------------------------------------>
																?>	
																<tbody>				
																		<tr style="height: 16px" align="center">
																			<td>
																					<img src="<?php echo $nom_image; ?>">
																			</td>					
																			<td>
																				<?php
																					echo
																							"<FONT color='black'>".$nom. "</FONT>"
																					;
																				?>
																			</td>
																			<td>
																				<?php
																					echo
																							"<FONT color='black'>".$prix."€". "</FONT>"
																					;
																				?>
																			</td>
																			<td>
																				<?php
																					echo
																						"<input type='checkbox' name='id[]' value='".$id."'>"
																					;
																				?>
																			</td>						
																		</tr>
																	</tbody>
																				<?php	
																				
																}
														}			
//<!------------------------------------------------------------------------------------------------------------------------------------>
										// on incrémente l'index
//<!------------------------------------------------------------------------------------------------------------------------------------>					
													fclose($fileHandle);
//<!------------------------------------------------------------------------------------------------------------------------------------>
					// fermeture du fichier -->
//<!------------------------------------------------------------------------------------------------------------------------------------>
												}
													?>
													<tfoot>
														<tr style="height: 16px" align="center">						
															<td colspan=3>	
															
															</td>
															<td>
																<font class="font_p" color="#5d8eb3">
																	<b>
																		total
																	</b>
																</font>	
															</td>						
														</tr>				
														<tr style="height: 16px" align="center">						
															<td colspan=3>		
																<input type="submit" value="confirmer" name="select"/ onClick="valider()">
															</td>
															<td>								
																<?php
																			echo 
																				array_sum($total) . "€\n"									
																			;	
																?>
															</td>						
														</tr>
													</tfoot>	
												</table>	
												<?php										
										}
									else
											{
//<!------------------------------------------------------------------------------------------------------------------------------------>
								//<!-- si il manque des variables on indique qu'il y a un probleme  -->
//<!------------------------------------------------------------------------------------------------------------------------------------>									
											echo 
												'
													<TABLE BORDER="0" width= 80% align="center">
														<tbody>
															<tr align="center" width="1300">
																<td colspan="2" >
																	<div>
																		<FONT color="black">
																			votre panier est vide
																		</FONT>
																		</br>
																	</div>
																	<input type="button" name="Accueil" value="Fermer" onClick="window.close()"/>
																</td>
															</tr>
														</tbody>
													</TABLE>						
												';
										}
								?>
<!------------------------------------------------------------------------------------------------------------------------------------>				
				<!-- fin du contenu de la partie sombre -->
<!------------------------------------------------------------------------------------------------------------------------------------>				
						</div>
			</html>
qui renvoie a une page qui doit logiquement:
_1)modifier la quantité de mes produits achetés
_2) qui doit enregistrer dans un fichier.txt l'id de l'utilisateur et l'id de mon produit

pour ce faire j'ai codé ce code
<?php if(session_id()=='') { session_start(); } // TOUJOURS EN HAUT DE SCRIPT
	header('Content-type:text/html; charset=UTF-8');	// encodage UTF-8
	// --------------------------------------
	// protection page membre
	// --------------------------------------
	// si session vide = PAS connecté
	if( empty($_SESSION['user']['login']) )
		{
			// on redirige
			header('location:../elements_inchangeables/connexion/connexion.php'); // OU redirection vers le formualire de CONNEXION !
			exit;
		}
?>

<!------------------------------------------------------------------------------------------------------------------------------------>
<!-- Déclaration du type de document -->
<!------------------------------------------------------------------------------------------------------------------------------------>
			<!DOCTYPE HTML>
			<html>
				<head>
					<title>selection_jeux</title>
				</head>
<!------------------------------------------------------------------------------------------------------------------------------------>	
				<!-- debut du contenu de la partie sombre -->
<!------------------------------------------------------------------------------------------------------------------------------------>												
								<?php
//<!------------------------------------------------------------------------------------------------------------------------------------>						
						// <!-- on verifie que les info est etait transmissent -->
//<!------------------------------------------------------------------------------------------------------------------------------------>						
									if 
										(
											!empty($_POST['id'])
										)
										{
//<!------------------------------------------------------------------------------------------------------------------------------------>								
								//<!-- si oui, on les renomment -->
//<!------------------------------------------------------------------------------------------------------------------------------------>										
											$id_membre= $_SESSION['user']['id'];
											$id_jeu_select =$_POST['id'];
											$dossier=$_POST['dossier'];
											for ($i=0;$i<count($_POST['id']);$i++)
												{
													$id_jeu= $_POST['id'][$i];
													$achat = fopen("../../../txt/genre/achat/".$dossier.".txt", "r+");														
													file_put_contents("../../../txt/Fichier_user.txt",
																		$id_jeu.'|'.
																		$id_membre."\r\n",FILE_APPEND);		
												}
											$fileHandle = fopen("../../../txt/genre/".$dossier.".txt", "r+"); 
//<!------------------------------------------------------------------------------------------------------------------------------------>						
						//  <!-- Ouverture du fichier "jeux_d_aventures.txt" 
//<!------------------------------------------------------------------------------------------------------------------------------------>						 
											if ($fileHandle) 
												{											
													// --------------
													// Initialisation
													$les_lignes = '';
													$lignes_array = array();
													$saut = "\r\n"; // saut de ligne
													// --------------
													// on parcourt les lignes du fichier txt
													while(!feof($fileHandle))
													{
														$ligne = fgets($fileHandle); // $ligne -> chaine
														$ligne = trim( $ligne ); // on supprime le saut de ligne à la fin
														$cette_ligne = explode('|', $ligne); // $cette_ligne -> array
														// --------------
//<!------------------------------------------------------------------------------------------------------------------------------------>	
															if( $id_jeu_select == $cette_ligne[0] ) // si on est sur la bonne ligne (id_user OK)
																{
																	$new_ligne= array();
																	$new_ligne[0]= $cette_ligne[0];
																	$new_ligne[1]= $cette_ligne[1];
																	$new_ligne[2]= $cette_ligne[2];
																	$new_ligne[3]= $cette_ligne[3];
																	$new_ligne[4]= $cette_ligne[4];
																	$new_ligne[5]= $cette_ligne[5];
																	$new_ligne[6]= $cette_ligne[6] - 1;	
																	$lignes_array[] = implode( '|', $new_ligne ); // remplacement des données de cette ligne			
																	$fileHandle = fopen("../../../txt/genre/achat/Fichier_achat.txt", "r+");
																	$id_utilisateur=$_SESSION['user']['id'];
																	$achat = fopen("../../../txt/genre/achat/genre/".$dossier.".txt", "r+");
																	file_put_contents("../../../txt/genre/achat/genre/".$dossier.".txt",
																						$id_utilisateur.'|'.
																						$cette_ligne[0] .'|'.
																						FILE_APPEND);	
																	exit();								
																	}
																else
																	{
																		$lignes_array[] = $ligne ; // on conserve la ligne
																	}
															}
															// --------------
															$les_lignes = implode ( $saut, $lignes_array ); // on regroupe toutes les lignes (en ajoutant les sauts de ligne)
															// --------------
													}
												fclose($fileHandle);
												$fileHandle = fopen("../../../txt/genre/".$dossier.".txt", 'w+');
												fputs($fileHandle, $les_lignes); // on écrit toutes les lignes dans le fichier txt		 
												fclose($fileHandle);
												echo 
													'
														<td colspan="2" >
																<input type="button" name="Accueil" value="Fermer" onClick="window.close()"/>
														</td>
						
													';	
												exit;													
										}
									else
											{
//<!------------------------------------------------------------------------------------------------------------------------------------>
								//<!-- si il manque des variables on indique qu'il y a un probleme  -->
//<!------------------------------------------------------------------------------------------------------------------------------------>									
											echo 
												'
													<TABLE BORDER="0" width= 80% align="center">
														<tbody>
															<tr align="center" width="1300">
																<td colspan="2" >
																	<div>
																		<FONT color="black">
																			votre panier est vide
																		</FONT>
																		</br>
																	</div>
																	<input type="button" name="Accueil" value="Fermer" onClick="window.close()"/>
																</td>
															</tr>
														</tbody>
													</TABLE>						
												';
										}										
								?>
<!------------------------------------------------------------------------------------------------------------------------------------>				
				<!-- fin du contenu de la partie sombre -->
<!------------------------------------------------------------------------------------------------------------------------------------>				
						</div>
			</html>
le soucis, étant que le 1er code ne change rien du tout ( la quantité ne diminue pas ).
et le second lui ne fait rien du tout ^^". (RESOLU)
si quelqu'un aurait un conseil , une solution , une direction pour que je trouve une solution a me conseillé je lui en serais gréé.
Merci d'avance