Page 1 sur 2

recuperation d'une valeur pour utiliser dans une popup

Posté : 03 mai 2006, 09:57
par steph23
Bonjour,
Voila, en faite j'ai une fenetre, a partir de celle-ci j'appelle une popup, après avoir choisi l'enregistrement souhaiter, cela affiche les valeur dans la premiere fenetre. Ensuite j'appelle a nouveau une popup a partir de la meme fenetre sauf que je dois envoyer la valeur qui est afficher dans la page suite au choix fait dans la precedente popup.

j'ai fait ça :
onClick="javascript: popup('../../prest.php?cop=<?php echo $cop ?>')"
mais cela ne marche pas. (forcément sinon je vous le demanderai pas)

j'ai compris pour quoi cela ne marchais pas mais je ne vis comment faire.

J'espère que j'ai été clair et que vous m'avez compris.

Merci

Posté : 03 mai 2006, 10:02
par Vaedan
Le probleme vient peut être de la maniere dont tu récupères $cop :
$cop = $_GET[ 'cop' ];

Posté : 03 mai 2006, 10:10
par steph23
merci d'avoir repondu si vite
Donc j'ai essayé en mettant
<?php $cop = $_GET[ 'cop' ]; ?>
cela ne fonctionne pas, j'ai essayé au cas ou
onClick="javascript:popup('../../prest.php?cop=<?php $_GET['cop']; ?>')"
mais cela ne marche pas non plus

merci

Posté : 03 mai 2006, 10:14
par Vaedan
Dans la page qui appelle la popup :
<a href="#" onClick="javascript:popup('../../prest.php?cop=$cop ?>')">Clic !</a>
Dans prest.php :
<?php
$cop = $_GET[ 'cop' ];
?>
Maintenant il faudrait que tu nous donnes le lien qui pointe vers la popup (ou l'URL de la page prest.php une fois appelée en popup.

Posté : 03 mai 2006, 10:23
par steph23
a ok, non en faite dans l'url cela n'affiche meme pas la variable, cela m'affiche juste :

http:...prest.php?cop=

avec rien comme valeur, donc cela doit être au niveau de la fenetre principal qu'il y a un problème.

Je precise que dans ma zone de texte cop il y a une valeur.

merci

Posté : 03 mai 2006, 10:26
par Vaedan
Si tu ne nous dis pas tout on va pas avancé. Donne nous le code entier de la page qui appelle la popup (via la balise
 s'il te plait !)

Posté : 03 mai 2006, 10:35
par steph23
<?php
include_once("../../connexion.php");
if(isset($_GET['num']))
{$num=$_GET['num'];
}
?>
<html>
<head>
<script language="javascript">

//-->


function popup(fic)

{ recup=window.open(fic,'Choisir'); }
</script>

<title>Enregistrement</title>
<style type="text/css">
<!--
.Style1 {font-size: 24px}
.Style2 {
	font-size: 18px;
	font-weight: bold;
}
-->
</style>
</head>
<body>


<form name="enreg" onSubmit="return validate()" method="post" action="persAdd.php">


 
  <p>
    <input name="nump" type="hidden" id="nump" value="<?php echo $num ?>">
  </p>
  <table width="100%" >
    <tr align="left" valign="middle">
      <td width="21%">Nom </td>
      <td width="79%"><input name="gc" type="text" id="gc"  onClick="javascript:popup('../../choix.php')" readOnly>
          <input name="mat" type="hidden" id="mat">
          <input name="cop" type="hidden" id="cop"></td>
    </tr>
    <tr align="left" valign="middle">
      <td>Adresse du site</td>
      <td><input name="ad" type="text" id="ad" size="70" readOnly>      </td>
    </tr>
    <tr align="left" valign="middle">
      <td>Libell&eacute; prestation</td>
	  
      <td><input name="lib" type="text" id="lib"  size="40"  onClick="javascript:popup('../../prest.php?cop=<?php echo $cop ?>')" readOnly>
      <input name="numpt" type="hidden" id="numpt" size="5"></td>
    </tr>
    
  </table>
  
  <tr><td height="43">&nbsp;</td>
              <td><div align="center">
              </div></td>
              <td><div align="center">
              </div></td>
  </tr> 
  <p align="center">
    <input name="sub" type="image" src="../../image/bouton/button2C.gif" width="115" height="23">
  

</form>


</boby>
</html>

j'ai raccourci un peu, il y avait des truc qui aurait été inutile

merci

Posté : 03 mai 2006, 10:41
par Vaedan
Bon alors, deja $cop n'est pas défini. Ton champ HTML cop ne contient rien, donc même en Javascript tu n'as rien à récupérer. Là je vois pas du tout ce qu'est censé faire ton script :(

Posté : 03 mai 2006, 10:41
par guilt92
je ne vois pas ou tu definis $cop.... ?

Ah je me suis fait devancer :(

Posté : 03 mai 2006, 10:41
par zeus
Au début de la page, tu as un test sur l'existence de $_GET['num'], le problème ne viendrait pas de là par hasard ?

Si tu utilise une variable derrière un test d'existence, je te conseille de penser à donner une valeur par défaut à ta variable :
<?php
if(isset($_GET['num'])) {
  $num=$_GET['num'];
} else {
  $num=0;
}
?> 
De plus, afin de soulager le code, il existe une syntaxe PHP pratique
<input name="nump" type="hidden" id="nump" value="<?= $num ?>">

Posté : 03 mai 2006, 10:44
par Vaedan
De plus, afin de soulager le code, il existe une syntaxe PHP pratique
<input name="nump" type="hidden" id="nump" value="<?= $num ?>">
Que je te déconseille car beaucoup de serveurs la désactive. De plus, le <? pourait entrainer des problèmes dans les versions futures de PHP avec l'arrivée progressive des tags <?xml par exemple.

Posté : 03 mai 2006, 10:50
par Invité
moi le <? ne marche pas, je suis obliger de faire <?php

sinon la zone de texte cop, n'est pas vide, elle est rempli pas la premier popup.

Pour ce qui est de $num, il y a forcement quelque chose, sinon on ne peut pas accéder a la page.

merci

Posté : 03 mai 2006, 10:54
par guilt92
sinon la zone de texte cop, n'est pas vide, elle est rempli pas la premier popup.
La zone de texte peut etre mais la variable $cop est pas définie... Récupère la valeur du champ dans cette variable.

Posté : 03 mai 2006, 10:57
par steph23
oki, ça je suis d'accord, mais je fait comment pour la récupérer. Je dois utiliser le javascript ?


merci

Posté : 03 mai 2006, 11:03
par guilt92
Déjà le premier problème est le risque d'erreur si tu n'initialises pas ta valeur : Si la personne clique sur le champ lib avant d avoir cliqué sur nom la variable $cop sera vide...

Pour la récupérer depuis le popup j'avoue que je ne vois pas trop comment, il faudrait voir du coté du déclenchement d'une action quand le popup se ferme peut etre...