Pb php insolvable pour moi
Forum Programmation : Pb php insolvable pour moi
Bonjour,
Je voudrai savoir pourquoi ce bout de code me retourne tout le temps 0, même si je change la valeurs des champs 9 et 10.
Code :
|
Merci d'avance pour votre futur aide.
salut, le test de l'égalité se fait avec 2 = (3 existe aussi)
Code :
|
Message édité par coca25 le 13-06-2008 à 10:55:35
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Je viens de le faire et sa me retourne tout le temps 1 pour n'importe quel valeur des champs 9 et 10
Ben cette fonction te renvoie 0 si le $champs[9] est définis avec comme valeur "rien" et si le $champs[10] est définit avec comme valeur "rien".
Si tu mets "rien" dans les champs[9] & [10] ca renvoie quoi ?
Répondre à Darit
justement quand je met dans le champs[9] la valeur "rien" et le champs[10] la valeur "rien", il me retourne le résultat 1 quoi qu'il arrive, que les champs 9 et 10 soit différents ou non.
Je ne vois pas en quoi le "isset" pourrait poser problème mais si tu les enlèves ca renvoie quoi ?
Tu as bien ca comme code :
Code :
|
Répondre à Darit
ouai j'ai bien ce code. Bah je les ai enlever et c'est pareille. Quoi que je mette dans les variable j'ai toujours le resultat 1. Et si je met que un seul "=", le resultat me retourne tout le temps 0. Je comprend vraiment pas.
Je viens même d'essayer ce code ms sans succès:
Code :
|
Message édité par sangokudu92 le 13-06-2008 à 11:44:54
le code est bon, c'est donc la facon dont tu affectes les variables ou alors la manière dont tu récupères le résultat, poste plus de code!
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Et si tu fais un
Code :
|
Tu obtiens quoi ?
Répondre à Darit
J'obtient bien la valeur du champs en question.
Et le résultat de $server_exap, tu l'obtiens et/ou le vérifie comment (par quel code) ?
Répondre à Darit
Il faut peut-être que j'explique tout alors voila
. Je doit a l'aide d'un textarea pouvoir insérer dans une base des produits.
Pourquoi le textarea, c'est pour pouvoir insérer plusieurs produit à la fois grâce a la fonction explode. Donc ma page du formulaire (où se trouve le textarea) renvois a celle ou je t'es montrer le code précédent. Le code donne ceci:
Code :
|
Voila j'éspère avoir été un peu plus clair. Si c'est pas le cas demande moi ce que tu n'as pas compris.
tout ca ne dit toujours pas comment tu renseignes les $champs, et je te signale que tu as toujours 1 seul = pour tester une égalité ![]()
fais un simple test:
Code :
|
execute, tu auras 0 dans $serveur_exap
refait le test avec
Code :
|
et tu auras 1!
de plus le code que tu as posté est différent de ce que tu as donné avant, c'est des différences mineures, mais vu le = et == ...
Message édité par coca25 le 13-06-2008 à 13:58:35
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Justement j'avais bien testé ce que tu m'avais dit sur les égalitées mais sa ne marchais pas, j'ai donc du essayer autre chose. En se qui concerne le remplissage des variables $champs[n], elle se fait grâce au textarea de la manière suivante:
nom_serv:archi_serv:fonc_serv:type_serv:...
ce qui donne:
champs[0]:champs[1]:champs[2]:...
et champs faisant référence au nom du textarea.
Le pire c'est que même le simple code que tu m'as demandé de tester ne marche pas
.
Normalement c'est ce code que je veux utiliser, mais il devrait marcher pour n'importe quel chaine de caractère.J'avais essayer avec rien, mais je préférerai le faire avec "0".
Code :
|
Message édité par sangokudu92 le 13-06-2008 à 14:15:56
| sangokudu92 a écrit : Justement j'avais bien testé ce que tu m'avais dit sur les égalitées mais sa ne marchais pas, j'ai donc du essayer autre chose. |
tu saisis pas une chose, un langage de programmation, ca a des règles, c'est pas une question de si ca marche pas, on tente autre chose...
en php, pour affecter une variable, c'est =, pour tester l'égalité, c'est == et pour tester l'égalité exacte (type compris), c'est ===
jongler avec le = et les autres ne rime à rien.
| sangokudu92 a écrit :
nom_serv:archi_serv:fonc_serv:type_serv:... et champs faisant référence au nom du textarea. |
je suis sur que c'est la ou tu te trompes, mais sans code, on va pas pouvoir faire grand chose.
| sangokudu92 a écrit :
|
la, je vais te dire, qu'il faut changer de machine ![]()
plus sérieusement, t'as mal fait la copie, ou alors (et j'opterais plus pour cette explication), tu prends des raccourcis que tu estimes sans influence sur le résultat, mais tu te trompes.
Message édité par coca25 le 13-06-2008 à 14:24:48
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Mais quand est ce que tu assignes la variable $champs[9] & $champs[10] ?
Répondre à Darit
Merci coca25, je viens de saisir la différence entre les différent "=", et merci a tout les deux de m'aider.
voila le formulaire (rien de compliqué):
Code :
|
et voici un exemple d'insertion dans le textarea:
Code :
|
Donc les deux dernier "0" représente les champs9 et 10.
C'est plus clair comme sa?
Message édité par sangokudu92 le 13-06-2008 à 14:33:46
ok, on va pas s'en sortir...
php par défaut met les variables, post pour ton cas dans la variable globale $_POST sauf indication contraire dans la config.
et même si c'est configuré pour directement prendre en compte les variables de même nom que les champs, jusqu'à preuve du contraire, une chaine de caractère dans un textarea ne sortira jamais un tableau dans le php.
mais bon, continue à donner le code au compte goutte (t'es pas l'auteur du code, c'est bien ca?), on pourra tenir jusqu'à la fin de cette journée ![]()
aller prochainement, le code qui éventuellement transforme le champs en tableau...
EDIT, ah mais si, tu l'as déjà donné le code ![]()
| sangokudu92 a écrit :
$i = 0; |
sauf qu'il est placé après les test
Message édité par coca25 le 13-06-2008 à 14:43:20
Penser à voir les tutos, ca peut aider!
Répondre à coca25
C'est pas serieux tout sa. Bien sur que c'est moi qui ai tout fait. Depuis quand on demande des explicatons sur le code des autres.
Pour la chaine de caractères, si ta question est: peut-on séparer une chaine de caractère pour en obtenir des variables, la réponse est oui.
Je vois pas ou tu veux en venir
Ben c'est normal que les test doivent être fait en premier, et s'il sont valide bah on passe à la suite du code
Message édité par sangokudu92 le 13-06-2008 à 14:48:15
La ligne suivante :
Code :
|
me permet d'avoir une ligne différente après chaque retour chariot, et celui-ci:
Code :
|
me permet de séparer la chaine de caractère en plusieurs variable dés qu'il y a un ":"
j'ai édité plus haut, tu sépares après les tests!
Penser à voir les tutos, ca peut aider!
Répondre à coca25
désoler j'ai pas compris.
tu testes si une variable est égale à 0, rien ou autre avant même de lui affecter une valeur.
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Essaye voir en affichant ta ligne avant "l'explode" puis en l'affichant après...
j'ai rien dit
Message édité par Darit le 13-06-2008 à 14:56:06
Répondre à Darit
J'ai fais comme sa, mais c'est trop bizarre:
Code :
|
En mettant dans le textarea
Code :
|
J'obtient: server_exap: 1 champs9: 0 champs10: 0
le cache de ton navigateur doit te jouer des tours, ctrl+f5 sur la page résultat.
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Tu as pris en compte la remarque de coca25 à savoir inverser l'ordre des instructions suivantes :
Code :
|
&
Code :
|
Car tu ne donnes une valeur à tes variables $champs[9] et $champs[10] qu'après les avoir testés... Logique Emile !
Répondre à Darit
iiiiiiiiiiiiiiiiiiiiiiihhhhhaaaaaaaaaaaaaaaaaa, sa marche
. J'avais pas compris ce qu'il voulais dire mais l'erreur venais bien de la. Un grand merci a tout les deux de m'avoir aider a résoudre ce problème.
Il y a 797 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
