Probleme en php
Résolu
bezourox
Messages postés
730
Date d'inscription
Statut
Membre
Dernière intervention
-
bezourox Messages postés 730 Date d'inscription Statut Membre Dernière intervention -
bezourox Messages postés 730 Date d'inscription Statut Membre Dernière intervention -
bonjour .
Voila je vous explique .
J'ai 3 tableaux qui recuperent des entiers .
Pour entrer ces valeurs dans ma base de données, je rentre toutes les valeurs d'un tableau dans une variable de type VARCHAR , séparées par une virgule .
Et je fais cela pour les 3 tableaux .
Voila le code :
while($num_reponses_justes[$n] != "")
{
//concatenation des numeros dans la variable liste_reponses_justes , séparés par une virgule
$liste_reponses_justes .= $num_reponses_justes[$n].",";
$n++;
}
while($num_reponses_fausses[$p] != "")
{
//concatenation des numeros dans la variable liste_reponses_justes , séparés par une virgule
$liste_reponses_fausses .= $num_reponses_fausses[$p].",";
$p++;
}
while($num_je_ne_sais_pas[$q] != "")
{
//concatenation des numeros dans la variable liste_reponses_justes , séparés par une virgule
$liste_je_ne_sais_pas .= $num_je_ne_sais_pas[$q].",";
$q++;
}
A la fin, j'execute une requete qui part m'envoyer ces 3 chaines de caracteres dans ma base de données .
Le résultat est le suivant :
- d'une part, mes valeurs vont bien s'ajouter dans ma base de données correctement .
- d'autre part, voila les messages d'erreur que j'obtiens sur ma page suivante :
Notice: Undefined variable: liste_reponses_justes in c:\program files\easyphp1-8\www\projet\reponse.php on line 96
Notice: Undefined offset: 8 in c:\program files\easyphp1-8\www\projet\reponse.php on line 93
Notice: Undefined variable: liste_reponses_fausses in c:\program files\easyphp1-8\www\projet\reponse.php on line 102
Notice: Undefined offset: 4 in c:\program files\easyphp1-8\www\projet\reponse.php on line 99
Notice: Undefined variable: liste_je_ne_sais_pas in c:\program files\easyphp1-8\www\projet\reponse.php on line 108
Notice: Undefined offset: 4 in c:\program files\easyphp1-8\www\projet\reponse.php on line 105
Déja il me parle de variables non déclarées ... je vois pas ou je devrais les declarer et pourquoi ...
Et puis ce indefid offset qui est un message d'erreur que je ne connais pas ...
Si quelqu'un pouvait m'aider ca serait super , parce que la je vois pas .
Donc mon soucis ce sont les messages d'erreur puisque l'ecriture des donnéees dans la BDD se fait correctement .
Help pliz !!! :)
Voila je vous explique .
J'ai 3 tableaux qui recuperent des entiers .
Pour entrer ces valeurs dans ma base de données, je rentre toutes les valeurs d'un tableau dans une variable de type VARCHAR , séparées par une virgule .
Et je fais cela pour les 3 tableaux .
Voila le code :
while($num_reponses_justes[$n] != "")
{
//concatenation des numeros dans la variable liste_reponses_justes , séparés par une virgule
$liste_reponses_justes .= $num_reponses_justes[$n].",";
$n++;
}
while($num_reponses_fausses[$p] != "")
{
//concatenation des numeros dans la variable liste_reponses_justes , séparés par une virgule
$liste_reponses_fausses .= $num_reponses_fausses[$p].",";
$p++;
}
while($num_je_ne_sais_pas[$q] != "")
{
//concatenation des numeros dans la variable liste_reponses_justes , séparés par une virgule
$liste_je_ne_sais_pas .= $num_je_ne_sais_pas[$q].",";
$q++;
}
A la fin, j'execute une requete qui part m'envoyer ces 3 chaines de caracteres dans ma base de données .
Le résultat est le suivant :
- d'une part, mes valeurs vont bien s'ajouter dans ma base de données correctement .
- d'autre part, voila les messages d'erreur que j'obtiens sur ma page suivante :
Notice: Undefined variable: liste_reponses_justes in c:\program files\easyphp1-8\www\projet\reponse.php on line 96
Notice: Undefined offset: 8 in c:\program files\easyphp1-8\www\projet\reponse.php on line 93
Notice: Undefined variable: liste_reponses_fausses in c:\program files\easyphp1-8\www\projet\reponse.php on line 102
Notice: Undefined offset: 4 in c:\program files\easyphp1-8\www\projet\reponse.php on line 99
Notice: Undefined variable: liste_je_ne_sais_pas in c:\program files\easyphp1-8\www\projet\reponse.php on line 108
Notice: Undefined offset: 4 in c:\program files\easyphp1-8\www\projet\reponse.php on line 105
Déja il me parle de variables non déclarées ... je vois pas ou je devrais les declarer et pourquoi ...
Et puis ce indefid offset qui est un message d'erreur que je ne connais pas ...
Si quelqu'un pouvait m'aider ca serait super , parce que la je vois pas .
Donc mon soucis ce sont les messages d'erreur puisque l'ecriture des donnéees dans la BDD se fait correctement .
Help pliz !!! :)
A voir également:
- Probleme en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
Bonjour,
rien de grave, ce sont juste tes variables qui ne sont pas déclarées en amont dans le code.
rien de grave, ce sont juste tes variables qui ne sont pas déclarées en amont dans le code.
bon en php on declare les variables en meme temps qu'elles prennent leur valeur , donc je capte pas le délire .
Puis pour ces UNDEFINIED OFFSET, impossible d'avoir une reponse .
N'y a t'il vraiment personne qui pourrait m'aider ?
Puis pour ces UNDEFINIED OFFSET, impossible d'avoir une reponse .
N'y a t'il vraiment personne qui pourrait m'aider ?
comme le dit lenono, tes variables ne sont pas déclarées.
Il est vrai que l'on peut faire de la déclaration implicite en PHP, c'est à dire, que tu peux te contenter d'affecter une valeur à une variable non existante pour qu'elle soit déclarée.
Donc :
$liste_reponses_justes = 'bonjour';
serait valide par exemple.
Le problème c'est que tu utilises l'opérateur d'affectation ".="
qui signifie
$liste_reponses_justes = $listes_reponses_justes + quelque chose.
Cette opération marche lorsque $listes_reponses_justes est déclaré (explicitement, ou que l'on lui a affecté une valeur) mais au premier passage dans la boucle, il est incapable d'affecter une valeur qui n'existe pas à une variable.
il te suffirait simplement avant la boucle de mettre :
$liste_reponses_justes="";
ce qui l'initialisera.
Ensuite, pour ce qui est des undefined offset, c'est plus ou moins le meme problème : ton tableau existe bel et bien mais tu cherches à lire un enregistrement qui existe pas . (exemple: tu as déclaré un tableau de 10 valeurs (implicitement ou explicitement) et tu cherches à lire la onzième.
Il est vrai que l'on peut faire de la déclaration implicite en PHP, c'est à dire, que tu peux te contenter d'affecter une valeur à une variable non existante pour qu'elle soit déclarée.
Donc :
$liste_reponses_justes = 'bonjour';
serait valide par exemple.
Le problème c'est que tu utilises l'opérateur d'affectation ".="
qui signifie
$liste_reponses_justes = $listes_reponses_justes + quelque chose.
Cette opération marche lorsque $listes_reponses_justes est déclaré (explicitement, ou que l'on lui a affecté une valeur) mais au premier passage dans la boucle, il est incapable d'affecter une valeur qui n'existe pas à une variable.
il te suffirait simplement avant la boucle de mettre :
$liste_reponses_justes="";
ce qui l'initialisera.
Ensuite, pour ce qui est des undefined offset, c'est plus ou moins le meme problème : ton tableau existe bel et bien mais tu cherches à lire un enregistrement qui existe pas . (exemple: tu as déclaré un tableau de 10 valeurs (implicitement ou explicitement) et tu cherches à lire la onzième.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Yep .
Enfin des reponses precises a mes questions :) j'aime ca .
bon pour ce qui est du undefinied offset, j'ai trouvé une autre technique pour eviter ca. j'etais parti sur une logique pas tres logique en fait ^_^
pour ce qui est de l'opérateur d'affectation .= , ben je viens d'apprendre un truc, j'irai au lit moins *** ce soir . :)
Merci en tout cas et bonne fin de journée
Enfin des reponses precises a mes questions :) j'aime ca .
bon pour ce qui est du undefinied offset, j'ai trouvé une autre technique pour eviter ca. j'etais parti sur une logique pas tres logique en fait ^_^
pour ce qui est de l'opérateur d'affectation .= , ben je viens d'apprendre un truc, j'irai au lit moins *** ce soir . :)
Merci en tout cas et bonne fin de journée