Rechercher : dans
Par :

[PHP]Passer 2 variables dans l'URL

Dernière réponse le 12 aoû 2005 à 16:33:27 Caro, le 11 aoû 2005 à 10:58:58 
 Signaler ce message aux modérateurs

Salut tout le monde !

Voilà, j'aimerai passer deux variables dans mon URL, voici mon code :

function appel() {
     location.href="materielsOccas.shtml?tbl2="+tb1.options    [tb1.selectedIndex].value ; 
 }


appel() est une fonction en javascript, j'aimerai passer la variable 'toto' ayant la valeur 'tb1.options [tb1.selectedIndex].text ;' Mais je vois pas du tout comment faire

Un grand merci d'avance !

Meilleures réponses pour « [PHP]Passer 2 variables dans l'URL » dans :
PHP - Structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non, c'est-à-dire si la valeur de son expression vaut 0 ou 1 (le PHP associe le mot clé true à 1...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

Erdnax, le 11 aoû 2005 à 11:14:26

Salut,

Je suppose qu'apparemment la valeur de ton toto est celle que l'utilisateur sélection dans un champ formulaire <select></select>.

Donc ce ne serait pas plus simple de l'envoyer par forumlaire ?
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

2

tom@, le 11 aoû 2005 à 11:16:03

Salut
pourquoi ne pas passer une variable avec php sans fonction javascript (les pseudo frames: http://www.phpdebutant.org/article68.php).
<a href="url(page.php)?parametre1=valeur1">lien</a>
Dans ta page page.php, recupere les valeurs avec:
$param1=$_GET['parametre1'];

A+,
tom

Répondre à tom@

3

Erdnax, le 11 aoû 2005 à 11:17:55

Disons qu'apparemment les valeurs sont dans un champ de sélection pour l'utilisateur, d'où ma proposition de les transmettre par soumission de formulaire ;)
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

4

caro, le 11 aoû 2005 à 11:27:02

Oui, en effet Erdnax, il s'agit bien de <select></select>

<select name="tb1" 
          onchange="appel();">


Qu'appel tu l'envoyer par formulaire ?

Je vais tester ta solution tom@

En tout cas un grand merci des réponses !

Répondre à caro

5

Erdnax, le 11 aoû 2005 à 11:31:52

Ce qu'il faut que tu fasse, si ce n'est pas déjà fait ;), c'est que tu entoure tes balises <select> et </select> par <form> et </form> de manière à ce que ça te donne quelque chose comme ça :

<form action="materielsOccas.shtml" method="get">
<select name="tb1">
<option value="valeur1">Nom de l'option1</option>
<option value="valeur2">Nom de l'option2</option>
etc...
</select><br>
<input type="submit" value="Envoyer">
</form>
De cette manière, lorsque le visiteur aura choisi son option et cliqué sur le bouton Envoyer, ta page materielsOccas.shtml devrait recevoir les données par l'url ;)

@+
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

6

caro, le 11 aoû 2005 à 11:44:17

Haa... je vois ce que tu voulais dire. Mais en faite, j'ai besoin que l'action se passe dés que la personne sélectionne une ligne dans la liste, pour qu'ensuite la value de cette ligne serve de variable pour une requête. Ton idée est très bonne, mais dans mon cas ne peut fonctionner

Merci des réponses !!

Répondre à caro

7

Erdnax, le 11 aoû 2005 à 11:58:04

Lol, alors le javascript était une bonne idée ;)

Tu peux essayer ça :

function appel() {
window.location.href="materielsOccas.shtml?tbl2="+document.monform.tb1.options.selectedIndex.value; 
}
Et pour ton select, fais-le comme ça :
<form name="monform">
<select name="tb1" onchange="appel();">
<option selected>-- Veuillez faire votre choix --</option>
<option value="valeur1">Nom de l'option1</option>
<option value="valeur2">Nom de l'option2</option>
</select>
</form>
Qu'est-ce que ça donne ? (_..:: P'tit Suisse ::.._)

Répondre à Erdnax

8

caro, le 11 aoû 2005 à 12:14:23

Merci encore de la réponse, c'est sympa !!

Ca marche plus. En faisant :

function appel()
   { location.href="materielsOccas.shtml?tbl2="+tb1.options[tb1.selectedIndex].value;  }


select :

<select name="tb1" onchange="appel();">
<option selected>-- Veuillez faire votre choix --</option>
<option value="valeur1">Nom de l'option1</option>
<option value="valeur2">Nom de l'option2</option>
</select>


ça marche très bien, du moins j'arrive à récupérer la 'value', mais maintenant je souhaiterai récupérer le nom de l'option, d'ou ma question du départ, comment passer deux variables dans mon url :)

@ller, bon appétit ;)

Répondre à caro

9

Erdnax, le 11 aoû 2005 à 12:50:15

Lol, ben je crois que je viens de comprendre ton problème ^^

En fait, maintenant il me semble que c'est assez simple :

location.href="materielsOccas.shtml?tbl2="+tb1.options[tb1.selectedIndex].value + "&tbl2titre=" +tb1.options[tb1.selectedIndex].text;
Tu remarqueras que j'ai du modifier le second tbl2 en rajoutant titre, afin que l'on puisse distinguer le nom des deux variables transmises.
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

10

caro, le 11 aoû 2005 à 14:04:37

Cool... alors là, merci beaucoup, ça marche nickel !!! ;)

Bonne journée, et encore merci !

Répondre à caro

11

Erdnax, le 11 aoû 2005 à 14:20:49

De rien, désolé d'avoir mis si longtemps à comprendre ce que tu voulais ;) ^^ :P
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

12

caro, le 12 aoû 2005 à 11:46:49

C'est encore moi ;)

Je me demandais si on pouvais passer une variable PHP dans une fonction javascript, voici mon code :

function appel2()

{ location.href="materielsOccas.shtml?typeProduit="+typeProd.options[typeProd.selectedIndex].value + "&contenu=" +typeProd.options[typeProd.selectedIndex].text + "&mark="+tabloMarque.options[tabloMarque.selectedIndex].text + "&inter1="$inter1; }</code>

Bon, je sais que ce que j'ai fait ça marche pas, mais c'est pour vous montrer mon idée.

Répondre à caro

13

Erdnax, le 12 aoû 2005 à 12:02:34

Re,

Presque tout est faisable ! et là, oui ;) comme ça :

<?php echo 'function appel2()
   { location.href="materielsOccas.shtml?typeProduit="+typeProd.options[typeProd.selectedIndex].value + "&contenu=" +typeProd.options[typeProd.selectedIndex].text + "&mark="+tabloMarque.options[tabloMarque.selectedIndex].text + "&inter1="'.$inter1.';  }';
@+
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

14

caro, le 12 aoû 2005 à 12:06:05

Mais oui, chuis cruche... Bref, re merci beaucoup !!!!

Répondre à caro

15

Erdnax, le 12 aoû 2005 à 12:47:31

Eheh cruche ou pas, c'est po grave ^^

L'imortant c'est de trouver, ou de faire rappeller certaines choses ;)
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

16

caro, le 12 aoû 2005 à 15:21:46

Bon, tu vas me prendre pour une neuneu, mais ça marche po :(

voilà mon code :

<?
$pass = "juste un test";

<script type="text/javascript">
   
   $ctt= 'function appel2()
   { location.href="materielsOccas.shtml?typeProduit="+typeProd.options[typeProd.selectedIndex].value + "&contenu=" +typeProd.options[typeProd.selectedIndex].text + "&mark="+tabloMarque.options[tabloMarque.selectedIndex].text + "&inter1="+'.$pass.';  }
  
</script>';

?>


En faite j'utilise des modules fait par mon maitre de stage, donc je dois mettre tout le code html dans la variable $ctt. J'ai testé 36000 trucs mais à chaque fois Internet Explorer me dit qu'il y a des erreurs comme : ';' attendu franchement je vois pas ou.

Répondre à caro

17

Erdnax, le 12 aoû 2005 à 15:52:06

Allez, une petite aide, un mot clé, dis moi si tu trouves :

echo

^^
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

18

caro, le 12 aoû 2005 à 15:54:45

Oui, je l'avais vu :) je l'ai mis mais ça marchait pas (j'ai du mal le placer) mais je viens juste de trouver à l'instant une solution :

 function appel2()
   { location.href="materielsOccas.shtml?typeProduit="+typeProd.options[typeProd.selectedIndex].value + "&contenu=" +typeProd.options[typeProd.selectedIndex].text + "&mark="+tabloMarque.options[tabloMarque.selectedIndex].text + "&inter1='.$pass.' ";   }


En faite, il fallait mettre la variable avant le guillement .

Répondre à caro

19

Erdnax, le 12 aoû 2005 à 16:06:15

Alors c'est tout bon ou c'est-y po tout bon ?
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

20

caro, le 12 aoû 2005 à 16:14:09

C'est complètement tout bon ;)

Répondre à caro

21

Erdnax, le 12 aoû 2005 à 16:17:26

Alors c'est complètement trop cool. Si t'as encore un problème, hésite pas ;)

@+

P.S. t'as une adresse ou on peut voir tout ça. (_..:: P'tit Suisse ::.._)

Répondre à Erdnax

22

caro, le 12 aoû 2005 à 16:19:48

Merci, t'es très sympa !!

Répondre à caro

23

Erdnax, le 12 aoû 2005 à 16:28:19

Une 'tite adresse où on peut voir ce que ça donne ? :)
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax

24

caro, le 12 aoû 2005 à 16:29:49

Hélas pas encore, là je fais un site marchand mais je suis loin de l'avoir fini.

Répondre à caro

25

 Erdnax, le 12 aoû 2005 à 16:33:27

Oki, no prob ;)

@+
(_..:: P'tit Suisse ::.._)

Répondre à Erdnax
Collection CommentÇaMarche.net