[PHP] passage de paramètres
Nat'
-
Erdnax Messages postés 2273 Date d'inscription Statut Contributeur Dernière intervention -
Erdnax Messages postés 2273 Date d'inscription Statut Contributeur Dernière intervention -
Salut tout le monde !
Voilà, j'ai plusieurs zone de saisie et une image devant chaque zone, et je voudrais que lorque l'on clic sur une image, la valeur de la zone de saisie associé soit passé en paramètre. Mon code pour l'instant est le suivant :
la variable $caddie comprend l'url de l'image. Mon code dans ajoutArt.php :
Mais ça marche pas...
Un grand merci d'avance !
Voilà, j'ai plusieurs zone de saisie et une image devant chaque zone, et je voudrais que lorque l'on clic sur une image, la valeur de la zone de saisie associé soit passé en paramètre. Mon code pour l'instant est le suivant :
<td width="18%"><input type="text" name="valeur" size="3" maxlength="3"><a href="ajoutArt.shtml?qte="+valeur> '.$caddie.'</td>
la variable $caddie comprend l'url de l'image. Mon code dans ajoutArt.php :
$qte = $_GET["qte"];
Mais ça marche pas...
Un grand merci d'avance !
A voir également:
- [PHP] passage de paramètres
- Parametres de mon ordinateur - Guide
- Passage qwerty azerty - Guide
- Paramètres dns - Guide
- Easy php - Télécharger - Divers Web & Internet
- Paramètres de confidentialité - Guide
13 réponses
Salut,
Premièrement, ta balise <a> pour ton lien n'est pas fermée. Ca n'a pas de conséquence normalement, mais bon, on est là pour corriger ;)
Ensuite, lorsque tu passe ton paramètre valeur, d'où sort-il ? parce que tu le balance comme ca dans ta page, mais si c'est une variable, elle est renseignée ? En quel language ?
Et pour l'affichage de ton image, tu dois, puisque tu dis que caddie contient l'adresse de ton image, quand même insérer la balise img. Ca doit en gros te donner quelque chose comme ça, en sachant bien que ta valeur qte sera mal rensiengée tant que je n'aurai pas les infos demandées avant ;)
Premièrement, ta balise <a> pour ton lien n'est pas fermée. Ca n'a pas de conséquence normalement, mais bon, on est là pour corriger ;)
Ensuite, lorsque tu passe ton paramètre valeur, d'où sort-il ? parce que tu le balance comme ca dans ta page, mais si c'est une variable, elle est renseignée ? En quel language ?
Et pour l'affichage de ton image, tu dois, puisque tu dis que caddie contient l'adresse de ton image, quand même insérer la balise img. Ca doit en gros te donner quelque chose comme ça, en sachant bien que ta valeur qte sera mal rensiengée tant que je n'aurai pas les infos demandées avant ;)
<td width="18%"> <input type="text" name="valeur" size="3" maxlength="3"><a href="ajoutArt.shtml?qte="+valeur><img src="'.$caddie.'" border="0"></a> </td>@+
<? echo '<td width="18%"><input type="text" name="valeur" id="valeur" size="3" maxlength="3"><a href="#" OnClick="window.location(\'ajoutArt.shtml?qte=\' + getElementById(\'valeur\').value\');"> '.$caddie.'</td>'; ?>
Essaie ca pour voir...
Et fais attention aux quotes dans ton code PHP... Je me suis ptetre trompé.
Ha... Erdnax, mon sauveur ;) toujours là pour moi à ce que je vois :)
En faite ma variable $caddie contient non seulement l'url mais aussi le '<img src....' et se fini par </a>, voilà pour la p'tite info :)
J'ai testé ton code StreM mais il marchait pas chez moi. Là j'ai trouvé un code tout fait sur le net qui marche dans un exemple simple, mais dans mon cas il marche pas, trop les boulles !!
Mon navigateur me sort comme ça "document.formulaire1.valeurtext.value à la valeur null est n'est pas un objet'...
En faite ma variable $caddie contient non seulement l'url mais aussi le '<img src....' et se fini par </a>, voilà pour la p'tite info :)
J'ai testé ton code StreM mais il marchait pas chez moi. Là j'ai trouvé un code tout fait sur le net qui marche dans un exemple simple, mais dans mon cas il marche pas, trop les boulles !!
<script type="text/javascript"> function Aller() { document.location.href="ajoutArticle.shtml?valeur="+document.formulaire1.valeurtexte.value; } </script>
<td width="18%"><form action="ajoutArticle.php" method="get" name="formulaire1"> <input type="text" name="valeurtexte" value="0" size="2" maxlength="2"/> <a href="javascript:Aller();"><img src="file:///C|/caddie.gif" width="30" height="30" alt="Aller" /></a> </form> </td>
Mon navigateur me sort comme ça "document.formulaire1.valeurtext.value à la valeur null est n'est pas un objet'...
Hmmm...
document.formulaire1.valeurtext.value n'est pas standard W3C, ca peut merder.
Voila pourquoi rien ne vaut getElementById.
Et je trouve bizarre que ta balise <script> n'aie pas de "language=javascript", m'enfin si ca marche comme ca...
Sinon, fais bien attention a passer tes variables dans le bon format en PHP :
urlencode($var) quand tu l'envois, et urldecode pour la recuperer.
document.formulaire1.valeurtext.value n'est pas standard W3C, ca peut merder.
Voila pourquoi rien ne vaut getElementById.
Et je trouve bizarre que ta balise <script> n'aie pas de "language=javascript", m'enfin si ca marche comme ca...
Sinon, fais bien attention a passer tes variables dans le bon format en PHP :
urlencode($var) quand tu l'envois, et urldecode pour la recuperer.
... et un petit complément à StreM :D
Dans ton
Vérifie bien le nom de ta page (dans ton premier post tu parles de ajoutArt.shtml) et du nom de ta variable (ici valeur, alors que précédemment qte ;) )
Ensuite, fais attention à ton image, le src pointe vers une image sur ton disque dur, et c'est souvent à la base de pleins de post, pour la simple et bonne raison qu'il faut que les images soient sur le serveur, et non chez toi ;) (mais ça je pense que tu le sais ;) )
Sinon pour le script, je rejoins assez StreM pour les getElementById.
Dans ton
ajoutArticle.shtml?valeur="+document.formulaire1.valeurtexte.value;
Vérifie bien le nom de ta page (dans ton premier post tu parles de ajoutArt.shtml) et du nom de ta variable (ici valeur, alors que précédemment qte ;) )
Ensuite, fais attention à ton image, le src pointe vers une image sur ton disque dur, et c'est souvent à la base de pleins de post, pour la simple et bonne raison qu'il faut que les images soient sur le serveur, et non chez toi ;) (mais ça je pense que tu le sais ;) )
Sinon pour le script, je rejoins assez StreM pour les getElementById.
Bonjour !!
Bon, je suis repartie sur la méthode de streM finalement.
J'ai déjà utilisé getElementById dans ma page, pensez vous qu'il puisse y avoir des 'conflits' entre les différents appel à cette fonction, parce que ça me fait des résultats bizare, au lieu de mettre en paramètre 'valeur' il me met les paramètres que j'utilisais dans mes précédent appel à getElementById...
Bonne journée en tout cas !
Bon, je suis repartie sur la méthode de streM finalement.
J'ai déjà utilisé getElementById dans ma page, pensez vous qu'il puisse y avoir des 'conflits' entre les différents appel à cette fonction, parce que ça me fait des résultats bizare, au lieu de mettre en paramètre 'valeur' il me met les paramètres que j'utilisais dans mes précédent appel à getElementById...
Bonne journée en tout cas !
Disons que, comme son nom l'indique, getElementById reprends les éléments... par identificateur. Et pour éviter les conflits, dans les éléments de ton formulaire, tu peux préciser des attributs id, et dans ton getElementById("id"). Exemple :
<input type="text" name="valeurtexte" id="valeurtexte" value="0" size="2" maxlength="2" />@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
grrrr... j'ai un navigateur rebel !!
Voici mon code :
Quand je passe ma souris sur mon image j'ai une url du type materiels.shtml?typeProduit=bidule.... en gros c'est un passage de paramètre que j'ai fait plus haut avec pas du tout les même noms, c'est la première fois que j'utilise 'valeurtext'.
Comment ça se fait que tu es déjà levée Erdnax ? tu bosses ?
Voici mon code :
<td width="18%"><input type="text" name="valeurtext" id="valeurtext" size="3" maxlength="3"><a href="#" OnClick="window.location(\'ajoutArt.shtml?qte=\' + getElementById(\'valeurtext\').value\');">'.$caddie.'</td>
Quand je passe ma souris sur mon image j'ai une url du type materiels.shtml?typeProduit=bidule.... en gros c'est un passage de paramètre que j'ai fait plus haut avec pas du tout les même noms, c'est la première fois que j'utilise 'valeurtext'.
Comment ça se fait que tu es déjà levée Erdnax ? tu bosses ?
Oups, validé torp tôt... ^^
Donc, j'ai repris ton idée de fonction aller(), et j'ai fais ça :
Sinon, à toi maintenant de le transcrire pour ton code php ;)
Donc, j'ai repris ton idée de fonction aller(), et j'ai fais ça :
function aller(){ var valeur = document.getElementById("valeurtext"); if(valeur.value==""){ alert("Veuillez entrer une valeur."); } else { window.location.href="ajoutArticle.shtml?qte=" + valeur.value; } }Et pour ton input et lien :
<input type="text" name="valeurtext" id="valeurtext" size="3" maxlength="3"> <a onclick="aller()" onmouseover="this.style.cursor='pointer'">caddie</a>Tu pourras voir que le lien n'en est pas vraiment un, mais parce que si tu met quelque chose, le javascript ne sert à rien. Je sais qu'avec des return on peut améliorer, alors je continue à chercher un peu.
Sinon, à toi maintenant de le transcrire pour ton code php ;)
Ha ha !! On tiens le bon bout !! Y 'a juste un petit problème :s Le script ne prend en compte que la value de la première zone de saisie. Si je remplie une autre zone que la première, la fenêtre d'alert ('Veuillez entrer une valeur') se lance.
En tout cas un grand merci, je vais essayer de chercher de mon coté, j'ai pas envie que tu te fasses gronder par ton patron parce que tu perds ton temps à aider une 'neuneu' comme moi :)
En tout cas un grand merci, je vais essayer de chercher de mon coté, j'ai pas envie que tu te fasses gronder par ton patron parce que tu perds ton temps à aider une 'neuneu' comme moi :)
Lol, mon patron... disons que ce ne serait pas vraiment ta faute, si tu te promène dans les stats, tu verra que j'ai un peu plus de 1300 messages sur ces forums, alors c'est pas pour une dizaine ici que ça va changer grand choses lol.
Bon, là je vais manger, je continuerai à chercher cet après-midi ;)
@+ (bon app' ;) )
Bon, là je vais manger, je continuerai à chercher cet après-midi ;)
@+ (bon app' ;) )
J'ai pas trouvé le nombre exacte de post mais j'ai vu que tu as 19 ans... Tu bosses déjà dans l'info à 19 ans ? En france c'est rare ça. Et où as tu appris toutes ces connaissances ? Tu t'y connais bcp pour 19 ans ;)
Merci, ce fut fort bon. ^^
Bon, pour ton script, ce que tu veux en fait, après relecture de ton premier post, c'est que pour chaque zone de texte une image permette d'en "valider" le contenu ?
Bon, pour ton script, ce que tu veux en fait, après relecture de ton premier post, c'est que pour chaque zone de texte une image permette d'en "valider" le contenu ?
En faite, sur ma page j'ai plusieurs zone de saisie, une image étant attribué à chaque zone. Je voudrais que lorqu'on clic sur l'image, la valeur de zone de saisie qui lui correspond soit envoyé à la page suivante. J'ai pensé faire ceci :
et :
ce dernier morceau de code se trouve dans une boucle avec $nb comme indice. Mais je pense qu'il doit y avoir une erreur dans ma fonction en JS car ça marche toujours po :(
<script type="text/javascript"> function aller(nb){ var valeur = document.getElementById("valeurtext"+nb); if(valeur.value==""){ alert("Veuillez entrer une valeur."); } else { window.location.href="ajoutArt.shtml?qte=" + valeur.value + &numArt=+; } } </script>
et :
<td width="18%"><input type="text" name="valeurtext'.$nb.'" id="valeurtext'.$nb.'" value ="0"size="3" maxlength="3"> <a onclick="aller()" onmouseover="this.style.cursor=\'pointer\'">'.$caddie.'</td>
ce dernier morceau de code se trouve dans une boucle avec $nb comme indice. Mais je pense qu'il doit y avoir une erreur dans ma fonction en JS car ça marche toujours po :(
Pfffff, je suis trop trop nul, c'est affligeant !
Bref, ça marche du feu de dieu !!
Donc, merci beaucouuuuup !!
Bref, ça marche du feu de dieu !!
Donc, merci beaucouuuuup !!