IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

javascript faire passer variable


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut javascript faire passer variable
    bonjour, j'ai un formulaire qui execute une fonction avec de l'ajax pour rafraichir un div. je voudrais faire passer la variable $idp jusqu'a data.php et je ne trouve pas comment faire.

    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <- data.php ->
    $commande = mysql_fetch_array(mysql_query("SELECT * FROM planetes WHERE id_planete='$idp'"));
    echo ('Planete : '.$commande['nom_planete'].'');
     
    <--- index.php --->
    <- script JS ->
    	<script language="JavaScript">
    	function submitForm()
    	{ 
    		var req = null; 
    		document.getElementById("zone").innerHTML = "Started...";
     
    		if (window.XMLHttpRequest)
    		{
     			req = new XMLHttpRequest();
    			if (req.overrideMimeType) 
    			{
    				req.overrideMimeType('text/xml');
    			}
    		} 
    		else if (window.ActiveXObject) 
    		{
    			try {
    				req = new ActiveXObject("Msxml2.XMLHTTP");
    			} catch (e)
    			{
    				try {
    					req = new ActiveXObject("Microsoft.XMLHTTP");
    				} catch (e) {}
    			}
    	        	}
    		req.onreadystatechange = function()
    		{ 
    			document.getElementById("zone").innerHTML = "Wait server...";
    			if(req.readyState == 4)
    			{
    				if(req.status == 200)
    				{
    					document.getElementById("zone").innerHTML  = "" + req.responseText;	
    				}	
    				else	
    				{
     
    				document.getElementById("zone").innerHTML="Error: returned status code " + req.status + " " + req.statusText;
    				}	
    			} 
    		}; 
    		req.open("POST", "data.php", true); 
    		req.send(null); 
    	} 
    	</script>
     
    <- formulaire + div ->
    <FORM name="ajax" method="POST" action="">
      <p>
        <INPUT type="BUTTON" value="Submit"  ONCLICK="submitForm()">
        <input name="idp" type="hidden" id="idp" value="1" />
    </p>
    </FORM>
    	<div id="zone">
    	Waiting...
    	</div>
    merci a vous !

  2. #2
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Au lieu de faire un

    fais quelque chose du style

    en ayant passer la variable $idp à ta fonction submitForm bien entendu !

    PS : Pense aux balises code ce sera plus clair

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    le script marche plus !

    -> en ayant passer la variable $idp à ta fonction submitForm bien entendu !

    comment je la passe ?

  4. #4
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    arf tu la passes pas désolé je dis une bêtise

    mais fais plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req.send("id"=+document.getElementById('idp').value);
    Dans otn code php il faudra la récupérer via la variable $_POST

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    le scirpt ne fonctionn plus

    Voici le code :

    data.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?
    foreach ($_POST as $key => $value) $$key = addslashes($value);
    foreach ($_GET as $key => $value) $$key = addslashes($value);
     
    require('../jeu/includes/connect.inc.php');
    $idp = $_POST['idp'];
     
    $commande = mysql_fetch_array(mysql_query("SELECT * FROM planetes WHERE id_planete='$idp'"));
    echo ('Planete : '.$commande['nom_planete'].'');
    ?>
    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <?php
    foreach ($_POST as $key => $value) $$key = addslashes($value);
    foreach ($_GET as $key => $value) $$key = addslashes($value);
    ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     
    	<script language="JavaScript">
     
    	function submitForm()
    	{ 
    		var req = null; 
    		document.getElementById("zone").innerHTML = "Started...";
     
    		if (window.XMLHttpRequest)
    		{
     			req = new XMLHttpRequest();
    			if (req.overrideMimeType) 
    			{
    				req.overrideMimeType('text/xml');
    			}
    		} 
    		else if (window.ActiveXObject) 
    		{
    			try {
    				req = new ActiveXObject("Msxml2.XMLHTTP");
    			} catch (e)
    			{
    				try {
    					req = new ActiveXObject("Microsoft.XMLHTTP");
    				} catch (e) {}
    			}
    	        	}
     
     
     
    		req.onreadystatechange = function()
    		{ 
    			document.getElementById("zone").innerHTML = "Wait server...";
    			if(req.readyState == 4)
    			{
    				if(req.status == 200)
    				{
    					document.getElementById("zone").innerHTML  = "" + req.responseText;	
    				}	
    				else	
    				{
    					document.getElementById("zone").innerHTML="Error: returned status code " + req.status + " " + req.statusText;
    				}	
    			} 
    		}; 
    		req.open("POST", "data.php", true); 
            req.send("id"=+document.getElementById('idp').value);	
    		} 
    	</script>
    	<title>test</title></head>
     
    <body bgcolor="#FFFFFF">
    <FORM name="ajax" method="POST" action="">
      <p>
        <INPUT type="BUTTON" value="Submit"  ONCLICK="submitForm()">
        <input name="idp" type="hidden" id="idp" value="1" />
    </p>
    </FORM>
    	<div id="zone">
    	Waiting...
    	</div> 	
    </body>
    </html>
    adresse du script : http://www.staracademy7.fr/zespace/demo2/

  6. #6
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    tu as quoi comme erreur?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    je t'ai mi l'adresse en bas du message, rien ne se passe

  8. #8
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    req.send("idp"+document.getElementById('idp').value);

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    oui j'ai corrigé cela deja mais le script ne fonctionne plus quand meme, aucune reponse, aucun mouvement !

    http://www.staracademy7.fr/zespace/demo2/

  10. #10
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req.send("idp="+document.getElementById('idp').value);
    j'ai pas vu le =

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    ok la requete passe correctement mais data.php prend $idp=''

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $idp = $_POST['idp'];
     
    $commande = mysql_fetch_array(mysql_query("SELECT * FROM planetes WHERE id_planete='$idp'"));
    echo ('Planete : '.$commande['nom_planete'].'');
    ?>

  12. #12
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    au début de ta fonction submitForm fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById('idp').value);

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    il me sort la valeur ! mais je ne vois pas pourquoi data.php ne la connais pas

  14. #14
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    ta méthode cité
    post
    est passé à
    get
    quand j'ouvre ton lien!!!

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    c'etait pour tester au cas ou ca marcherais

    c bon j'ai remis tout comme il faut avec l'alert aussi

  16. #16
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    et dans ta base? est ce que le nom est "vide"

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    j'ai changé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		req.open("POST", "data.php?idp="+document.getElementById('idp').value, true); 
            req.send(null);
    et la variable passe bien comme il faut !

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    par contre comment faire passer plusieurs variable ?

    du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    req.open("POST", "data.php?idp="+document.getElementById('idp').value"&x="+document.getElementById('x').value, true);

  19. #19
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    oui comme ça

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 116
    Par défaut
    il y a une erreur dans ce que j'ai mis car le script ne fonctionne plus comme quand le = etait placé apres le " au lieu d'être avant

Discussions similaires

  1. [PHP-JS] je narrive pas a faire passer une var php en javascript
    Par roxxxy dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/03/2007, 11h33
  2. [AJAX] Faire passer une variable $_FILE par AJAX
    Par Mazike dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/03/2007, 12h22
  3. Faire passer une variable à un CSS, est-ce possible?
    Par miltonis dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 04/10/2006, 16h05
  4. [xsl / Php] faire passer une variable XSL en PHP
    Par klowlead dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 24/05/2006, 12h59
  5. faire passer une variable d'une fct js à une page php
    Par harlock59 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo