Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2011, 15h00   #1
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 164
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 164
Points : 37
Points : 37
Par défaut Mettre une valeur dans une variable php

Bonjour,

J'essaye dans mon code de mettre une valeur à une variable php en utilisant un script javascript mais je n'y arrive pas . Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script> 
 
 	if (window.name == 'Opener_Form') 
 	{
 	 	alert('1');
 		 <?php $Opener = "self.opener.opener"; ?> 
 	}
 	else 
 	{
 		alert('2');
 		 <?php $Opener = "self.opener"; ?>  
 	}
</script>
<?php
   echo $Opener;
?>
Le but étant de récuperer la valeur de $Opener et de l'utiliser dans mon code php, mais $Opener prend toujours la valeur "sel.opener" bien que le code peut passer dans la condition if. Peut-etre faut-il proceder autrement ?

Merci pour votre aide !
mcdelay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 15h07   #2
Membre éclairé
 
Homme
F5(){F5}
Inscription : avril 2008
Messages : 256
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : F5(){F5}
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2008
Messages : 256
Points : 320
Points : 320
nan mais php te génère une page html. C'est juste pas possible d'affecter une variable js dans une variable php.

Tes fichiers php sont sur un serveur. Ton js, il est exécuté sur ton client.
Si tu veux récupérer la valeur de self.opener, il faut que tu appele une page php avec en arguments (get ou post) la valeur de ta variable js
galerien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 15h23   #3
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 573
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 573
Points : 4 075
Points : 4 075
En effet galerien a raison : ce que tu décris implique une conception erronée de l'échange client-serveur, c'est matériellement impossible tel quel.
A partir du moment où le code JS s'exécute, sur le navigateur du client, donc, il y a deux manières de répercuter des informations vers le serveur : une requête de page ou une requête AJAX ^^
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 17h01   #4
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 164
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 164
Points : 37
Points : 37
J'avais ajouté ça à la fin de mon code et essayé de récupérer la valeur dans un GET ($_GET['idOpener'] mais je n'y suis pas arrivé non plus .

Code :
1
2
3
4
5
6
7
8
9
10
11
	<script> 
 
 	if (window.name == 'Opener_Form') 
 	{
 		 document.getElementById('divOpener').innerHTML = "<input type='hidden' name='idOpener' value='self.opener.opener'>"; 
 	}
 	else 
 	{
 		document.getElementById('divOpener').innerHTML = "<input type='hidden' name='idOpener' value='self.opener'>"; 
 	}
</script>
mcdelay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 17h19   #5
Expert Confirmé Sénior
 
Avatar de RomainVALERI
 
Homme Romain VALERI
POOête
Inscription : avril 2008
Messages : 2 573
Détails du profil
Informations personnelles :
Nom : Homme Romain VALERI
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : POOête

Informations forums :
Inscription : avril 2008
Messages : 2 573
Points : 4 075
Points : 4 075
Ca avait autant de chances de fonctionner que :
Code :
1
2
3
4
5
6
<script>
var supplique = "Alleeeeez s'il te plait c'est très important pour moi que tu ailles jusqu'au serveur !";
supplique.persuasion = MAX;
supplique.politesse = MAX;
supplique.vasYAPied();
</script>


(soit dit sans moquerie ^^ juste pour dire que ce n'est pas un problème de code JS)
__________________

...pour les linguistes et les curieux >>> générateur de phrases aléatoires

__________________
RomainVALERI est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 00h43   #6
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
@Romain : +1 parce que je me suis bien marré ^^
Chaque fois que quelqu'un parle de supplique, j'ai la chanson de Brassens dans la tête

@Macdelay : Faut savoir que le seul format de données qui passe à travers la tuyauterie Internet, c'est du texte brut. Ou des chaînes de caractères, si tu préfères.
Le code source d'une page HTML ? Du texte.
JavaScript ? Du texte.
Les paramètres d'une requête (get ou post) ? Du texte.
Même quand tu auras réussi à communiquer avec ton serveur, tu ne pourras pas lui passer des objets JavaScript directement. Va falloir inventer une solution

Ceci étant dit, voici un petit coup de pouce. C'est un exemple composé de deux pages, une page HTML qui joue l'acte I côté client, et une page PHP qui joue l'acte II côté serveur.

acte1.html :
Code HTML :
1
2
3
4
5
6
7
8
9
10
<a href="acte2.php" id="lien">cliquez ici</a>
 
<script type="text/javascript">
var x = 12;
 
document.getElementById('lien').onclick = function() {
	location.href = this.href + '?x=' + x;
	return false;
}
</script>

J'ai mis x = 12 pour simplifier l'exemple, mais imagine que cette variable peut changer de valeur.

acte2.php :
Code PHP :
1
2
3
<?php
var_dump($_GET['x']);
?>
Tu constateras que le type est string, rapport à ce que j'ai dit juste avant.
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 08h32   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Enfin là, ce que veut apparemment mcdelay, ce serait plus de récupérer dans le code PHP qui construit la page le résultat d'un traitement JavaScript...
mcdelay, il faut bien comprendre que lorsque PHP crée le HTML, la page n'existe pas, donc tu ne peux en aucun cas récupérer le résultat d'actions utilisateur.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 15h20   #8
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 164
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 164
Points : 37
Points : 37
Merci pour toutes ces précisions (en plus si j'ai pu en faire marrer plus d'un ;-)).
En fait le but de cela est de pourvoir attribuer une valeur (self.opener ou self.opener.opener) à une variable que l'on peut appeler "opener" à la construction de ma page, qui est défini comme suit :

Code :
1
2
3
4
5
6
<TD  align='center' title = 'Cliquer cette case pour visualiser les parcelles aménagés sur la carte'
	onclick = opener.chgStateGroupes('123=1');				    opener.chgStateGroupes('120=1');					    opener.chgStateGroupes('171=0');					    opener.chgStateGroupes('148=0');					    opener.chgStateAnalyse('5','1');					opener.findAll('123.8',true,'stroke');					    window.open('http://sig.valenciennes-metropole.intra/OutilsCAVM/Foncier_Occupation/Fiche_ZA.php?txt_id=8','_blank','toolbar=0,menuBar=0');"   
    onmouseover = opener.GestEvtDyn.lanceEvenement('SETHIGHLIGHT','123.8');
     onmouseout = opener.GestEvtDyn.lanceEvenement('RMHIGHLIGHT','123.8');>
6 305
</TD>
Je peux acceder à cette page depuis plusieurs fenêtre (deux) soit un lien direct (self.opener) soit par une fenetre intermédiaire (self.opener.opener).

Donc comment pourrais-je faire pour attribuer la bonne valeur à opener ?

Merci
mcdelay est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h57.


 
 
 
 
Partenaires

Hébergement Web