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

Langage PHP Discussion :

[Tableaux] souci avec array_push sous firefox


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut [Tableaux] souci avec array_push sous firefox
    Bonjour à tous

    j'ai un petit problème concernant la fonction array_push() dans une session. J'ai un "panier" sur un site perso avec en guise de produits des photos qu'on peut mettre dans son panier... bref ... à chaque ajout, seul l'identifiant est transmis en _GET et je souhaite ajouter 1 en quantité

    le bout de code :
    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
     
    if(session_is_registered('panier')) { 
    															/*** Ajout Produit ***/
     
    if(isset($_GET['action'])){
    $extraction=extract($_GET, EXTR_OVERWRITE);
     
    	$sql_x="SELECT id_pdt FROM produits WHERE id_pdt='$id_pdt'";
    	$req_x=mysql_query($sql_x, $connection);
    	$nb_x=mysql_num_rows($req_x);
     
    	if($nb_x!=0){
    		$positionProduit = array_search($id_pdt, $_SESSION['panier']['id_pdt']);
     
    		if ($positionProduit !== false){
    			$_SESSION['panier']['qte'][$positionProduit] += 1 ;
    		}
    		else {
    			array_push( $_SESSION['panier']['id_pdt'],$id_pdt);
    			array_push( $_SESSION['panier']['qte'],1);
    		}
    	}
    }
    else {
     
    	session_register('panier');
     
    	$_SESSION['panier'] = array ();
    	$_SESSION['panier']['qte'] = array();
    	$_SESSION['panier']['id_pdt'] = array();
     
    	$nbArticles=0;
    	foreach($_SESSION['panier']['qte'] as $qteA){
    		$nbArticles+=$qteA;
    	}
    }
    Le problème est qu'au premier ajout d'un produit il m'en ajoute 2 et ensuite 1 par 1 comme souhaité. C'est pourquoi je me demande si ça vient de array_push ... ou d'ailleurs
    Mon souci se produit sous firefox (IE marche parfaitement hé oui !)

    Merci pour vos conseils ...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    Bonjour,

    Il semblerai que le problème ne vienne pas de la fonction array_push car le même genre de souci vient de se produire sur une requête d'insertion toute simple (comme beaucoup d'autres dans mes pages et qui elles fonctionnent bien) : double enregistrement dans la bdd au 1er passage d'un nouvel identifiant et après tout se passe comme prévu ... et ce toujours sous Firefox 3 et pas sous IE

    Donc je ne sais pas ce que j'ai fait de travers, je sais pas où je dois poster mon message ... au secours

  3. #3
    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
    Par défaut
    Pourrais-tu nous donner le code minimum avec lequel tu as ce probleme ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    Oueps désolé ...

    cette partie de code est dans de l'admin ... si je veux créer moi même une "commande" à partir d'un client donné. Dans le "catalogue produit", je récupère l'id du produit que je renvoi vers une page commande en GET avec l'id du client ... et c'est là qu'il crée 2 insertions ... au 1er passage

    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
    if(isset($_GET['id_pdt_ajout'])){
    	$extraction=extract($_GET, EXTR_OVERWRITE);
    	$today=time();
     
    	$sql3="INSERT INTO commande (id_client, date_creation, date_validation, date_envoi, statut_commande, statut_livraison, mode_paiement) VALUES ('$param1', '$today', '$today', '$today', 'Salon', 'Retiré', 'indefini')";
    	$req3=mysql_query($sql3, $connection);
     
    	$new_comm=mysql_insert_id();
    if($req4){
    	while($res4=mysql_fetch_array($req4)){
    		$prix_pdt4=$res4['prix_pdt'];
    		$prix_pdt_promo4=$res4['prix_pdt_promo'];
    		$statut_pdt4=$res4['statut_pdt'];
    	}
    }
     
    if($statut_pdt4=="Promotion"){
    	$prix_u=$prix_pdt_promo4;
    	$statut_f="oui";
    }
    else{
    	$prix_u=$prix_pdt4;
    	$statut_f="non";
    }
     
    $sql5="INSERT INTO pdt_commande (id_pdt, id_commande, quantite, promo_commande, prix_unit, prix_tt) VALUES ('$id_pdt_ajout', '$new_comm', '1', '$statut_f', '$prix_u', '$prix_u')";
    	$req5=mysql_query($sql5, $connection);
     
     
    ... etc
    ça continue après mais déjà ça coince à la première requête ... des requêtes d'insertion simples quoi ! et j'en ai pleins d'autres qui fonctionnent pareil (avec un lien ou un bouton qui a une ou plusieurs variables GET ...) qui fonctionnent tout bien ! c'est pour ça que j'arrive à savoir par quel bout prendre le truc ...

    Merci pour vos conseils

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 24
    Par défaut
    Bonjour à tous,

    Dernier rebondissement : je viens de tester tout ce petit monde sur un autre pc et oh miracle de la technologie ! ça fonctionne normalement ... donc je dois avoir une merdouille dans mon Firefox (si vous avez une piste, je suis preneur) ... j'vais tenter de réinstaller tout ça

    désolé pour le dérangement ... à bientôt

Discussions similaires

  1. [Tableaux] Souci avec array_push()
    Par renaud26 dans le forum Langage
    Réponses: 1
    Dernier message: 28/07/2006, 14h00
  2. Petit soucis avec javascript et firefox
    Par largowinch dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/07/2006, 12h55
  3. [FPDF] génération de pdf avec Fpdf sous firefox
    Par discogarden dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 08/06/2006, 10h50
  4. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 20h13
  5. [Tableaux] Pb avec array_push et foreach
    Par pounie dans le forum Langage
    Réponses: 4
    Dernier message: 16/12/2005, 17h56

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