popup avec url en php (est-ce vraiment possible?)

popup avec url en php (est-ce vraiment possible?) - PHP - Programmation

Marsh Posté le 27-02-2007 à 00:28:56    

bonsoir a tous! (ou bonne nuit??? :pt1cable: )
dans une page produit s'affiche une photo en petit du produit sélectionné. Quand l'utilisateur clique sur cette vignette, il ouvre un popup (wow quelle originalité) qui contient en haut le nom du produit, au centre la photo grand format et en bas, trois boutons permettant de changer de vue.
voila mon problème: j'ai enfin réussi à créer un popup en javascript (ouff!)
[voila le code du popup (on sait jammais)

Code :
  1. <?php
  2. require_once ('connection.inc.php');
  3. $req="SELECT * FROM produits WHERE id=".$_GET['id'];
  4. echo $req;
  5. $result = mysql_query($req);
  6. $ligne = mysql_fetch_array($result);
  7. ?>
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  9. <html xmlns="http://www.w3.org/1999/xhtml">
  10. <head>
  11. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  12. <title>Untitled Document</title>
  13. <link href="css/template.css" rel="stylesheet" type="text/css" />
  14. </head>
  15. <body onLoad="window.focus()">
  16. <div id="popup">
  17. <div id="titre_pop"><?php echo $ligne['nom']; ?></div>
  18. <div class="photo_pop"><?php echo $ligne ['photo'] ?></div>
  19. <div class="btns">
  20.  <div class="btn"><a href='popup.php?id=<?php echo $ligne ['photo'];?>'><img src="img/devant_popup.gif"/></a></div>
  21.  <div class="btn"><a href='popup.php?id=<?php echo $ligne ['dos'];?>'><img src="img/dos_popup.gif"/></a></div>
  22.  <div class="btn"><a href='popup.php?id=<?php echo $ligne ['detail'];?>'><img src="img/detail_popup.gif"/></a></div>
  23. </div>
  24. </div>
  25. </body>
  26. </html>


 
 
dans la page produit, ca marche avec :

Code :
  1. <a href="#"onClick="window.open('popup_pdt.php','zoomproduit', 'height=630, width=430, toolbar=no, menubar=no, scrollbars=no,
  2. resizable=no, location=no, directories=no, status=no, top=100, left=100');" target="_self" ><img src="<?php echo $ligne['vignette'] ?>" />
  3. </a></div>


mais pas avec :cry: :

Code :
  1. <a href="#"onClick="window.open('popup_pdt.php?id='<?php echo $ligne['id'];?>','zoomproduit', 'height=630, width=430, toolbar=no, menubar=no,
  2. scrollbars=no, resizable=no, location=no, directories=no, status=no, top=100, left=100');" target="_self" >
  3. <img src="<?php echo $ligne['vignette'] ?>" /></a></div>


 
pourquoi? cela reste un mystere pour moi.... j'espere que quelqun aura une bonne idée pour me sortir de la
bonne nuit à tous !
 

Reply

Marsh Posté le 27-02-2007 à 00:28:56   

Reply

Marsh Posté le 27-02-2007 à 01:00:39    

et tu sur que ton $ligne['id'] te renvoie quelques chose ?

Reply

Marsh Posté le 27-02-2007 à 06:57:41    

Lol normal...
 
essaie :
 
 
<a href="#"onClick="window.open('popup_pdt.php?id='<?php echo $ligne[\'id\'];?>','zoomproduit', 'height=630, width=430, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no, top=100, left=100');" target="_self" ><img src="<?php echo $ligne['vignette'] ?>" /></a></div>
 
ça devrait mieux fonctionner nan ? :lol:


Message édité par Mxtrem le 27-02-2007 à 06:58:01
Reply

Marsh Posté le 27-02-2007 à 09:51:03    

hmm.. je vois pas ce que ca change.
L'interpreteur php remplace tous ce qui se trouve entre <?php  et ?> donc, les ' que tu inhibes ne seront plus présent et l'interpreteur javascript ne sera pas géner..
 
Moi, j'enlèverai le ' qui est juste avant <?php
je ferais ca :
window.open('popup_pdt.php?id=<?php echo $ligne['id'];?>',

Message cité 1 fois
Message édité par nORKy le 27-02-2007 à 09:53:17
Reply

Marsh Posté le 27-02-2007 à 18:19:14    

ah exacte, je viens de calculer, j'avais mal lu :/

Reply

Marsh Posté le 27-02-2007 à 18:23:36    

Jolie double faille XSS/SQL injection au début... (Enfin pour l'affichage de la requête je suppose que c'est juste pour le debug. :spamafote:)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 28-02-2007 à 00:57:04    

nORKy a écrit :

hmm.. je vois pas ce que ca change.
L'interpreteur php remplace tous ce qui se trouve entre <?php  et ?> donc, les ' que tu inhibes ne seront plus présent et l'interpreteur javascript ne sera pas géner..

 

Moi, j'enlèverai le ' qui est juste avant <?php
je ferais ca :
window.open('popup_pdt.php?id=<?php echo $ligne['id'];?>',


moi j'arrêterai de faire du caca et je ferai ceci :

 

<a href="popup_pdt.php?id=<?php echo $ligne['id'];?>" onclick="window.open(this.href, [autres parametres] ); return false">
ouvrir popup
</a>

Reply

Marsh Posté le 28-02-2007 à 14:41:17    

gatsu35 a écrit :

moi j'arrêterai de faire du caca et je ferai ceci :  
 
<a href="popup_pdt.php?id=<?php echo $ligne['id'];?>" onclick="window.open(this.href, [autres parametres] ); return false">
ouvrir popup
</a>


 
 
oui, matu is ce n'est pas toi qui décide pour lui si son site doiy être accessible ou non.
Ce que lui dit ne l'avance pas et il ne comprends pas pourquoi c'est caca.
Donc ca serait bien de lui expliquer si son code ne te plait pas.
Il demande quelque chose qui marche ,pas d'accessible.

Reply

Marsh Posté le 28-02-2007 à 21:40:22    

salut à tous! je reviens apres quelques jour car je bossais sur un autre projet. D'abord merci à tous pour vos réponses.
 

gatsu35 a écrit :

moi j'arrêterai de faire du caca et je ferai ceci :  
 
<a href="popup_pdt.php?id=<?php echo $ligne['id'];?>" onclick="window.open(this.href, [autres parametres] ); return false">
ouvrir popup
</a>


désolé mais ce code la ne marche pas chez moi (a vrai dire c'est le code que j'ai mis au tout début mais par acquis de conscience j'ai quand meme vérifié). Le résultat c'est que la page qui s'ouvre est une page plein écan. Le second problème est que $ligne ['id'] n'est pas transmis (le résultat de l'écho:SELECT * FROM produits WHERE id=)et que du coup, j'ai une erreur sql:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home.16/g/r/a/graphici/www/espiral_site/popup_pdt.php on line 7
je vais essyer les autre méthodes citées plus haut et j'éditerais ce message plus tard. J'espere bien trouver une solution en tout cas je vous tiens au courant.
 

Citation :


Lol normal...
 
essaie :
 
 
<a href="#"onClick="window.open('popup_pdt.php?id='<?php echo $ligne[\'id\'];?>','zoomproduit', 'height=630, width=430, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no, top=100, left=100');" target="_self" ><img src="<?php echo $ligne['vignette'] ?>" /></a></div>
 
ça devrait mieux fonctionner nan ? :lol:


effectivement mon popup s'ouvre mais  $ligne['id'] ne renvoie toujours rien. En tout cas on se rapproche un peu plus du résultat finnal.  :)  . Allez c'est parti pour du php (ralala c'est dur la vie d'apprenti webdesigner :pt1cable: )


Message édité par nina dj le 28-02-2007 à 21:50:56
Reply

Marsh Posté le 28-02-2007 à 22:13:19    

nan mais attend, moi j'ai juste donner le code en version réduite pour que tu vois la différence entre mettre un # et mettre l'url de la popup dans le onclick (ce qui est stupide).
 
en gros tout ton code pourri qui correspond à l'url de ta popup. Tu le fous dans le HREF et dans le onclick tu met un this.href à la place.
 
Et après le window.open tu rajoutes un return false.

Reply

Marsh Posté le 28-02-2007 à 22:13:19   

Reply

Marsh Posté le 28-02-2007 à 22:32:42    

hehehehe, ninadj, bingo alors. Je me doutais du coup que c'etait ton tableau $ligne qui renvoyé rien ...
 
Pourquoi Gatsu35 c'est caca de mettre href="#" ?   [:chewyy]

Reply

Marsh Posté le 28-02-2007 à 22:40:43    

J'ouvre souvent les liens avec le bouton du milieu de ma souris pour avoir un nouvel onglet. Alors si un gus ne met pas de Href dans son lien parce que ca ouvre une popup, moi ca me pète les couilles. Et je ne suis pas le seul.
En plus, référencement, accessibilité, je pense que ce sont des mots que tu connais.

Reply

Marsh Posté le 28-02-2007 à 23:14:41    

gatsu35 a écrit :

J'ouvre souvent les liens avec le bouton du milieu de ma souris pour avoir un nouvel onglet. Alors si un gus ne met pas de Href dans son lien parce que ca ouvre une popup, moi ca me pète les couilles. Et je ne suis pas le seul.
En plus, référencement, accessibilité, je pense que ce sont des mots que tu connais.


bah désolée mais j'ai pas la science infuse moi, surtout pas à cette heure - ci d'ailleurs. Et comme j'ai pas de super pouvoirs non plus je peu pas lire dans tes pensées, alors je suppose que tu est un maitre du php et un dieu du javascript mais c'est pas mon cas (j'ai pas fait d'école, et je bosse en parallele). PS: t'auras le droit de qualifier mon code de pourri quand tu seras capable de donner une explication valable ou ne serai-ce qu'un lien vers un tuto.  
 
A part ca weed avait raison depuis le début  ;)  donc le probleme est dans popup_pdt.php.
le code a pas beaucoup changé:

Code :
  1. <?php
  2. require_once ('connection.inc.php');
  3. $req="SELECT id, vignette, photo, description, ref, saison, taille, cout, prix FROM produits WHERE id=".$_GET['id'];// c'est la que commence les ennuis...
  4. echo $req;//renvoie: SELECT id, vignette, photo, description, ref, saison, taille, cout, prix FROM produits WHERE id=
  5. $result = mysql_query($req);//forcément ici il ne se passe plus rien
  6. $ligne = mysql_fetch_array($result);
  7. ?>
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  9. <html xmlns="http://www.w3.org/1999/xhtml">
  10. <head>
  11. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  12. <title>Untitled Document</title>
  13. <link href="css/template.css" rel="stylesheet" type="text/css" />
  14. </head>
  15. //oulala le beau popup tout vide!!!!
  16. <body onLoad="window.focus()">
  17. <div id="popup">
  18. <div id="titre_pop"><?php echo $ligne['nom']; ?></div>
  19. <div class="photo_pop"><?php echo $ligne ['photo'] ?></div>
  20. <div class="btns">
  21.  <div class="btn"><a href='popup.php?id=<?php echo $ligne ['photo'];?>'><img src="img/devant_popup.gif"/></a></div>
  22.  <div class="btn"><a href='popup.php?id=<?php echo $ligne ['dos'];?>'><img src="img/dos_popup.gif"/></a></div>
  23.  <div class="btn"><a href='popup.php?id=<?php echo $ligne ['detail'];?>'><img src="img/detail_popup.gif"/></a></div>
  24. </div>
  25. </div>
  26. </body>
  27. </html>


 
pourtant j'utilise souvant ce code php et c'est la premiere fois que je rencontre ce problème :??: ....

Reply

Marsh Posté le 02-03-2007 à 23:01:30    

gatsu35 a écrit :

J'ouvre souvent les liens avec le bouton du milieu de ma souris pour avoir un nouvel onglet. Alors si un gus ne met pas de Href dans son lien parce que ca ouvre une popup, moi ca me pète les couilles. Et je ne suis pas le seul.
En plus, référencement, accessibilité, je pense que ce sont des mots que tu connais.


je suis exactement, ca me casse les couilles les popup pour ca. Je clique souvent sur la molette de ma souris pour revenir facillement en arriere sans devoire cliquer sur Back ... Donc je suis à 2000% avec toi ..
Oki pour l'info.
 

nina dj a écrit :

bah désolée mais j'ai pas la science infuse moi, surtout pas à cette heure - ci d'ailleurs. Et comme j'ai pas de super pouvoirs non plus je peu pas lire dans tes pensées, alors je suppose que tu est un maitre du php et un dieu du javascript mais c'est pas mon cas (j'ai pas fait d'école, et je bosse en parallele). PS: t'auras le droit de qualifier mon code de pourri quand tu seras capable de donner une explication valable ou ne serai-ce qu'un lien vers un tuto.  


tu sais il faut pas se prendre la tete tu sais, il faut pas toujours reagir au 1/4 de tour comme lorsque tu te prends un rateau ou lorsque ton boss te fais une remarque ..
 

gatsu35 a écrit :


A part ca weed avait raison depuis le début  ;)  donc le probleme est dans popup_pdt.php.


merci. :)
 

gatsu35 a écrit :


le code a pas beaucoup changé:

Code :
  1. <?php
  2. require_once ('connection.inc.php');
  3. $req="SELECT id, vignette, photo, description, ref, saison, taille, cout, prix FROM produits WHERE id=".$_GET['id'];// c'est la que commence les ennuis...
  4. echo $req;//renvoie: SELECT id, vignette, photo, description, ref, saison, taille, cout, prix FROM produits WHERE id=
  5. $result = mysql_query($req);//forcément ici il ne se passe plus rien
  6. $ligne = mysql_fetch_array($result);
  7. ?>




ce n'est pas la peine de chercher plus loin. Ta variable $_GET['id'] te renvoie rien.  
D'ailleur si tu fais un clique droit sur ton popup  
puis que tu selectionne "View page info" ,ou l'équivalent de la langue de ton navigateur ,  
tu verras la variable transmise dans ton url avec aucune valeur :  
Adresses http://l_adresse_de_ton_site/popup_pdt.php?id=
(si tu n'as pas Firefox pour temps pis pour toi   :non: )
 
Il faut regarder plutot le script qui appele ta page popup_pdt.php et qui transmet la variable id en get ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed