[Erreur] Mes amis les arrays...
Fermé
fredo78310
Messages postés
64
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
10 novembre 2009
-
17 juin 2008 à 16:41
fredo78310 Messages postés 64 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 10 novembre 2009 - 18 juin 2008 à 15:49
fredo78310 Messages postés 64 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 10 novembre 2009 - 18 juin 2008 à 15:49
A voir également:
- [Erreur] Mes amis les arrays...
- Erreur 0x80070643 - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Guide
- Erreur 1001 outlook - Guide
- Erreur 10016 epson - Forum Imprimante
- Erreur g030 - Forum Bbox Bouygues
2 réponses
sophieeeeee
Messages postés
1395
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
18 septembre 2008
53
17 juin 2008 à 17:27
17 juin 2008 à 17:27
c'est peut etre juste avant cette ligne???
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
17 juin 2008 à 17:39
17 juin 2008 à 17:39
Bonjour.
Sans le reste du code, on ne peut pas savoir d'où provient l'erreur...
Un truc que tu peux essayer, c'est :
Vu qu'a priori, tu as une de tes deux variables qui n'est pas un Array, tu verras laquelle à l'affichage.
Ensuite, il "suffit" de remonter dans ton code pour voir à quel moment il y a une affectation foireuse...
Sans le reste du code, on ne peut pas savoir d'où provient l'erreur...
Un truc que tu peux essayer, c'est :
echo $_SESSION['invest'].'<br />'.$liste; $_SESSION['invest'][$indice]=trim($liste[13]);
Vu qu'a priori, tu as une de tes deux variables qui n'est pas un Array, tu verras laquelle à l'affichage.
Ensuite, il "suffit" de remonter dans ton code pour voir à quel moment il y a une affectation foireuse...
fredo78310
Messages postés
64
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
10 novembre 2009
5
18 juin 2008 à 10:21
18 juin 2008 à 10:21
J'ai fait ce que tu m'as dit et ça m'a affiché 1 pour $_SESSION['invest'] et Array pour $liste
Voici mon code avant la ligne :
while (!feof($fp2)) // On parcourt le fichier
{
//récupération d'un ligne de fichier
$ligne=fgets($fp2, 4096);
// chaque champ séparé par une tabulation est placé dans une case de $liste[]
$liste=explode($separateurTab, $ligne);
//Compte le nombre d'éléments sur une ligne
$result=count($liste);
if ($cpt> $numeroLigneDeb && $cpt <$numeroLigneMax)
{
if (trim($liste[1]) !="")
{
$nbline=$indice + 1 + 1;
$var=trim($liste[1]);
/* on récupère la position éventuelle d'un caractère '"' dans la chaine */
$pos=strpos($var, "\"");
/* s'il n'y a pas de guillemets dans le libellé on le prend tel quel */
if ($pos===false)
{
$nomProduit[$indice]=$var;
}
/* sinon on fait un traitement pour remplacer les guillemets
* par 2 simples côtes:('')
*/
else
{
$var=substr($var, 1);
$var=substr($var, 0, (strlen($var) - 1));
$var=str_replace("\"\"", "''", $var);
$nomProduit[$indice]=$var;
}
$_SESSION['codeProdF'][$indice]=trim($liste[2]);
$_SESSION['immo'][$indice]=trim($liste[16]);
$_SESSION['invest'][$indice]=trim($liste[13]);
/*D'autres $_SESSION sont affectés et fonctionnent
[...]
*/
$indice++;
}
}
}
Voici mon code avant la ligne :
while (!feof($fp2)) // On parcourt le fichier
{
//récupération d'un ligne de fichier
$ligne=fgets($fp2, 4096);
// chaque champ séparé par une tabulation est placé dans une case de $liste[]
$liste=explode($separateurTab, $ligne);
//Compte le nombre d'éléments sur une ligne
$result=count($liste);
if ($cpt> $numeroLigneDeb && $cpt <$numeroLigneMax)
{
if (trim($liste[1]) !="")
{
$nbline=$indice + 1 + 1;
$var=trim($liste[1]);
/* on récupère la position éventuelle d'un caractère '"' dans la chaine */
$pos=strpos($var, "\"");
/* s'il n'y a pas de guillemets dans le libellé on le prend tel quel */
if ($pos===false)
{
$nomProduit[$indice]=$var;
}
/* sinon on fait un traitement pour remplacer les guillemets
* par 2 simples côtes:('')
*/
else
{
$var=substr($var, 1);
$var=substr($var, 0, (strlen($var) - 1));
$var=str_replace("\"\"", "''", $var);
$nomProduit[$indice]=$var;
}
$_SESSION['codeProdF'][$indice]=trim($liste[2]);
$_SESSION['immo'][$indice]=trim($liste[16]);
$_SESSION['invest'][$indice]=trim($liste[13]);
/*D'autres $_SESSION sont affectés et fonctionnent
[...]
*/
$indice++;
}
}
}
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
>
fredo78310
Messages postés
64
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
10 novembre 2009
18 juin 2008 à 13:34
18 juin 2008 à 13:34
J'ai fait ce que tu m'as dit et ça m'a affiché 1 pour $_SESSION['invest'] et Array pour $liste
Ca veut dire que $_SESSION['invest'] n'est pas un Array, mais qu'il a la valeur 1.
=> Le problème vient de là.
Il faudrait voir dans ton code (au moment où tu affectes $_SESSION['invest'][$indice]) ce qui cloche...
Ca veut dire que $_SESSION['invest'] n'est pas un Array, mais qu'il a la valeur 1.
=> Le problème vient de là.
Il faudrait voir dans ton code (au moment où tu affectes $_SESSION['invest'][$indice]) ce qui cloche...
fredo78310
Messages postés
64
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
10 novembre 2009
5
>
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
18 juin 2008 à 14:41
18 juin 2008 à 14:41
Très grosse incompréhension, j'ai installé Firefox 3.0 tout fraîchement sortie d'hier et la, plus de Warning, il ne voit plus le problème... Alors que je n'avais pas modifié le code bien entendu...
Il n'a même plus vu une erreur SQL que j'avais plus bas... Rien compris...
Je vais tester sur l'ordi d'un pote si ça passe sous Firefox 2.0.0.14 pour voir si ce n'est pas mon ordi qui déconne...
Il n'a même plus vu une erreur SQL que j'avais plus bas... Rien compris...
Je vais tester sur l'ordi d'un pote si ça passe sous Firefox 2.0.0.14 pour voir si ce n'est pas mon ordi qui déconne...
fredo78310
Messages postés
64
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
10 novembre 2009
5
>
fredo78310
Messages postés
64
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
10 novembre 2009
18 juin 2008 à 15:02
18 juin 2008 à 15:02
Fausse alerte, j'ai recharger ma page et le Warning est revenu mais par contre, mon erreur SQL est bien partie... Toujours incompréhensible ce truc-là...
Je ne déclare pas le $_SESSION en tant qu'Array peut être que c'est de la que vient le problème...
Mais tu vois, dans le code, j'ai d'autres affectations avec $_SESSION et ça marche nickel... C'est ça que je ne pige pas...
T'en penses quoi ??
Je ne déclare pas le $_SESSION en tant qu'Array peut être que c'est de la que vient le problème...
Mais tu vois, dans le code, j'ai d'autres affectations avec $_SESSION et ça marche nickel... C'est ça que je ne pige pas...
T'en penses quoi ??
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
>
fredo78310
Messages postés
64
Date d'inscription
lundi 16 juin 2008
Statut
Membre
Dernière intervention
10 novembre 2009
18 juin 2008 à 15:20
18 juin 2008 à 15:20
Le $_SESSION est un Array.
Le problème vient plutôt de $_SESSION['invest'] :
C'est sensé être un Array, mais c'est une variable (valeur 1).
Recherche dans ton code l'endroit où tu es sensé remplir le $_SESSION['invest'], l'erreur peut provenir de là...
Le problème vient plutôt de $_SESSION['invest'] :
C'est sensé être un Array, mais c'est une variable (valeur 1).
Recherche dans ton code l'endroit où tu es sensé remplir le $_SESSION['invest'], l'erreur peut provenir de là...