Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5376 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  ça n'incremente pas!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ça n'incremente pas!!

n°1384925
OhAime971
J'aime pas le C !
Posté le 09-06-2006 à 23:14:20  profilanswer
 

Bonsoir!!
 
Voilà, j'ai ce code là! donc j'ouvre une session, je test pour savoir si elle contient déjà des données, auquel cas je charge ces données dans un tableau!!
puis j'incrémente une valeur de ce tableau avec la fonction: ajouterPizzas
 
Le problème est que lorsque je clique donc sur le lien pour recharger, ça n'incremente pas! lorsque la session n'existe pas, ça passe bien de 0 à 1, mais après ça n'augmente plus, ça reste à 1... je comprends pas vraiment!
 
Si quelqu'un voit qu'est-ce qui cloche?!
 
Merci!
 
 
<?php
$client = new Commande('test');
if (isset ($_SESSION[0])){
 for ($i=0; $i!=1; $id++){
  $client->listePizzas[$i]=$_SESSION[$i];
 }
}
else{
  $_SESSION=array(0,0);
 }
$nbr= 1;
$client->ajouterRoyale($nbr);
echo 'le nombre de pizza est:'.$client->listePizzas[0];  //pour verifier.
$client->afficherCommande();
for ($i=0; $i!=1; $i++){
 $_SESSION[$i]=$client->listePizzas[$i];
 }
 
 
et la fonction ajouterPizzas est comme ça:
 
    function ajouterRoyale($nombre) {
        $this->listePizzas[0] += $nombre;
}
 
 

mood
Publicité
Posté le 09-06-2006 à 23:14:20  profilanswer
 

n°1384967
olivthill
Posté le 10-06-2006 à 02:48:50  profilanswer
 

il y a une petite faute sur la ligne :

for ($i=0; $i!=1; $id++){

Il faut incrémenter $i au lieu de $id.

n°1385042
OhAime971
J'aime pas le C !
Posté le 10-06-2006 à 12:14:25  profilanswer
 

Effectivement, mais en fait, c'est parce que avant le nom de la variable était "id", et j'avais changer en "i" pour être sur que ça ne venait pas de là!! et ça ne fonctionnait pas!  
 
J'ai mit "i" là, et ça ne fonctionne toujours pas!
 
Donc hier soir j'ai continué à essayer de trouvé une solution, et il y en a une, au lieu d'assigner les valeurs du tableau de $_SESSION , avec des index numérotés, j'ai mit des index "alphanumériques" et j'ai utilisé des boucles foreach pour les parcourir.
 
Donc, est-il impossible d'assigner des valeurs à $_SESSION via cette méthode: $_SESSION[0]=1;  ??

n°1385086
sielfried
Posté le 10-06-2006 à 13:26:54  profilanswer
 

Le nom de la variable de session doit respecter les mêmes règles que les noms de variable. Donc le premier caractère ne doit pas être un chiffre, déjà.


Message édité par sielfried le 10-06-2006 à 13:27:08

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1385093
OhAime971
J'aime pas le C !
Posté le 10-06-2006 à 13:57:18  profilanswer
 

Euh, la variable de session c'est bien $_SESSION non?

n°1385097
sielfried
Posté le 10-06-2006 à 14:12:34  profilanswer
 

$_SESSION c'est un tableau, ce que j'appelle nom de la variable de session, c'est ce que tu mets $_SESSION['là'];


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1385103
OhAime971
J'aime pas le C !
Posté le 10-06-2006 à 14:41:04  profilanswer
 

mmmh, mais pour un tableau: cette fonction:
 
function ajouterRoyale($nombre) {  
        $this->listePizzas[0] += $nombre;  
 
fonctionne très bien! pourtant j'utilise bien l'index 0 pour assigner une valeur.
 
et je viens d'essaye ceci:
 
<?php
session_start();
?>
<html>
<body>
<?php
$_SESSION[0]=5;
echo $_SESSION[0];
?>
</body>
</html>
 
et ça m'affiche bien 5...
 
Donc je vois pas trop bien!

n°1385112
remi-san
Posté le 10-06-2006 à 15:10:55  profilanswer
 

for ($i=0; $i!=1; $i++){  
...
}
 
Combien de tours de boucle tu fais avec ça?   :heink:
Et dans le code de ton 1er message, tu fais bien un "session_start()" en début de fichier?

Message cité 1 fois
Message édité par remi-san le 10-06-2006 à 15:21:28
n°1385120
Cyrius-c
Posté le 10-06-2006 à 15:42:15  profilanswer
 

listePizzas[0]++
?

n°1385125
OhAime971
J'aime pas le C !
Posté le 10-06-2006 à 15:45:52  profilanswer
 

remi-san a écrit :

for ($i=0; $i!=1; $i++){  
...
}
 
Combien de tours de boucle tu fais avec ça?   :heink:
Et dans le code de ton 1er message, tu fais bien un "session_start()" en début de fichier?


 
 
Ben je fais au moins un tour, vu que la valeur qui change est dans le premier index, ça pose pas trop de problème...
Sinon, oui j'ai bien fait un session_start();

mood
Publicité
Posté le 10-06-2006 à 15:45:52  profilanswer
 

n°1385127
sielfried
Posté le 10-06-2006 à 15:51:38  profilanswer
 

OhAime971 a écrit :

mmmh, mais pour un tableau: cette fonction:
 
function ajouterRoyale($nombre) {  
        $this->listePizzas[0] += $nombre;  
 
fonctionne très bien! pourtant j'utilise bien l'index 0 pour assigner une valeur.


 
J'ai bien dit "nom d'une variable de session" (ou d'une variable POST ou GET, d'ailleurs, c'est la même chose). [:spamafote]  
 

Citation :


et je viens d'essaye ceci:
 
<?php
session_start();
?>
<html>
<body>
<?php
$_SESSION[0]=5;
echo $_SESSION[0];
?>
</body>
</html>
 
et ça m'affiche bien 5...
 
Donc je vois pas trop bien!


 
Ca t'affiche 5 mais ça ne sauvegardera (a priori) pas la session, car le nom est invalide.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1385131
OhAime971
J'aime pas le C !
Posté le 10-06-2006 à 15:59:28  profilanswer
 

Ah ok! donc pour que ça sauvegarde, il faut forcement que je sauvegarde en mettant du texte en index?!

n°1385134
sielfried
Posté le 10-06-2006 à 16:04:59  profilanswer
 

Citation :


Un nom de variable valide doit commencer par une lettre ou un souligné (_), suivi de lettres, chiffres ou soulignés.


 
(php.net)


Message édité par sielfried le 10-06-2006 à 16:05:18

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1385142
OhAime971
J'aime pas le C !
Posté le 10-06-2006 à 16:25:43  profilanswer
 

mais ça c'est pour le nom de variable, pas pour l'index d'un tableau??

n°1385151
sielfried
Posté le 10-06-2006 à 16:40:14  profilanswer
 

Arf. [:pingouino]  
 
On résume :
- un nom de variable valide doit commencer par une lettre ou un souligné (_), suivi de lettres, chiffres ou soulignés ;
- $_SESSION (tout comme $_GET, $_POST et tous les tableaux globaux) est un tableau dont l'indice est un nom de variable.
 
Donc l'indice de $_SESSION doit commencer par une lettre ou un souligné (_), suivi de lettres, chiffres ou soulignés. :o  
 
Je peux pas faire plus clair.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1385389
OhAime971
J'aime pas le C !
Posté le 11-06-2006 à 12:50:18  profilanswer
 

Ok! donc j'utilise les lettres!
 
Merci!!!
 
a+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  ça n'incremente pas!!

 

Sujets relatifs
Comment récupérer les valeurs d'un champ text dont le nom s'incrémenteDossier incrementé avec la date sur ftp
Panier qui s'incrémente avec rafraichissementDans une requête, ajouter un champ "ordre" qui s'incrémente
[php/Mysql] auto incrementé une date[SQL] Récupérer l'id auto-incrémenté lors d'un INSERT
Liste de variables qui s'incrémente[mysql/phpmyadmin] Next Autoindex = 61 ? (champs auto-incrementé)
Plus de sujets relatifs à : ça n'incremente pas!!


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)