[PHP] passage de paramètres

Fermé
Nat' - 22 août 2005 à 15:13
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 - 23 août 2005 à 14:12
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 :

<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:

13 réponses

Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
22 août 2005 à 15:38
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 ;)
<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>
@+
0
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
22 août 2005 à 15:39
<?
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é.
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
22 août 2005 à 15:50
Ah oui, je n'avais pas pensé que valeur était la valeur du champ texte placé juste avant ;)

^^
0
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
22 août 2005 à 15:59
T'as pas fini de poster 15 secondes avant moi, toi ?
En plus pour dire des aneries ;))
Tourne 7 fois ton clavier dans ta main la prochaine fois :))
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497 > StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007
22 août 2005 à 16:08
Anerie anerie c'est vite dis... ^^

Je pense que si on couple ton post et le mien, on doit pouvoir atteindre ce qu'on cherche ;)

J'apporte des infos, toi aussi, et ce n'est pas les même, donc, c'est tout bénef non ? ;)
0
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
22 août 2005 à 16:17
Bien sûr ! Je disais ca pour te chambrer !
C'est loin d'etre des anneries, c'est juste une ptite inattention ;)
Pour une fois que c'est pas moi qui la fait :-p ...
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497 > StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007
22 août 2005 à 16:19
Ok, c'est tout bon alors, c'est bien comme ça que je l'avais pris ;)
0
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 !!

<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'...
0
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
22 août 2005 à 16:57
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.

0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
22 août 2005 à 17:20
... et un petit complément à StreM :D

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.
0
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 !
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
23 août 2005 à 09:48
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" />
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
grrrr... j'ai un navigateur rebel !!

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 ?
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
23 août 2005 à 11:24
Bosse, bosse, bof, mais oui, je suis au boulot ^^

Sinon, pour ton script, j'ai trouvé quelque chose.
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
23 août 2005 à 11:27
Oups, validé torp tôt... ^^

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 ;)
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497 > Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007
23 août 2005 à 11:32
Lol, chuis c*n des fois, tu fais simplement :
<a href="javascript:aller()">
^^

C'est bon là ?
0
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 :)
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
23 août 2005 à 12:08
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' ;) )
0
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 ;)
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
23 août 2005 à 12:37
Alors en fait, j'ai BIENTOT 19 ans ^^, et je bosse pas du tout dans l'info.

L'info c'est juste une passion, et je connais surtout la programmation web et windows, mais le reste bof. J'ai la chance d'être autodidacte, et j'ai donc tout appris par moi-même sur le net, et en pratiquant.

Voilà ^^
0
Bonne ap' en tout cas !
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
23 août 2005 à 12:57
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 ?
0
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 :

<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 :(
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
23 août 2005 à 14:08
Il me semble que tu as juste oublié dans ton lien pointant vers la fonction aller() d'indiquer ton nb ;)
aller('.$nb.');
non ?
0
arf, j'aurais du relire, enfaite faut pas prendre en compte le :

&numArt=+;


désolé...
0
Pfffff, je suis trop trop nul, c'est affligeant !

Bref, ça marche du feu de dieu !!

Donc, merci beaucouuuuup !!
0
Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
23 août 2005 à 14:12
Juste encore une petite précision pour ton lien ( <a onclick="aller()" onmouseover="this.style.cursor=\'pointer\'">'.$caddie.'</td> )

Regarde à la réponse 16, il me semble que ce sera mieux ;) (sans oublier le '.$nb.' ;) )
0