Se connecter avec
S'enregistrer | Connectez-vous

Ouverture pop-up php avec variables

Dernière réponse : dans Programmation

Bonjour a tous je suis nouveau je commance a apprendre le php et j'ai un probleme qui se voit etre coriace :( 

Je vous expose la situation j'ai une ouverture de pop up fonctionnel avec un lein normal.
Cependant ce popup est utilisé avec un lien contenant une variable et evidemment le pop up ne s'affiche plus, la requete javascript ne s'execute pas :

fonction Js :

  1. function OuvrirPop(url,nom,haut,Gauche,largeur,hauteur,options) {
  2. ouvpop=window.open(url,"top="+haut+",left="+Gauche+",width="+largeur+",height="+hauteur+");
  3. }


Code php :


  1. $reponse = mysql_query("SELECT * FROM chons");
  2. while ($donnees = mysql_fetch_array($reponse) )
  3. {
  4. $prenom = $donnees['prenom'];
  5. echo "<a href='javascript:OuvrirPop('mod.php?prenom=".$prenom.",10,10,580,580)'>".$prenom."</a>";
  6. }


Merci d'avance !

Autres pages sur : ouverture pop php variables

Lassé par la pub ? Créez un compte

merci beaucoup ca marche neanmoins j'ai tout de meme un probleme ^^ le pop-up s'ouvre mais la page est blanche :

preuve : http://micdec27.free.fr/ppc/

  1. <script language="JavaScript">
  2. //PLF-<a href="http://www.jejavascript.net/" target="_blank">http://www.jejavascript.net/</a>
  3. function OuvrirPop(url,nom,haut,Gauche,largeur,hauteur,options) {
  4. ouvpop=window.open(url,"top="+haut+",left="+Gauche+",width="+largeur+",height="+hauteur+","+options);
  5. }
  6. </script>
  7. </head>
  8.  
  9. <body>
  10. <?php
  11. mysql_connect("sql.free.fr", "***", "***");
  12. mysql_select_db("***");
  13.  
  14. $reponse = mysql_query("SELECT * FROM chons"); // Requête SQL
  15. while ($donnees = mysql_fetch_array($reponse) )
  16. {
  17. $prenom = $donnees['prenom'];
  18. echo "<a href=\"javascript:OuvrirPop('mod.php?prenom=".$prenom."',10,10,580,580);\">".$prenom."</a>";
  19. }
  20. ?>


Si vous pouviez m'aider je vous en serais tres reconnaissance car la je n'ai aucune base sur lesquelles m'appuyer. merci d'avance
Expert Programmation

Ben oui, c'est normal, car il faut que tu codes ta page popup pour que s'affiche dedans ce que tu veux, apparemment des infos en relation avec une personne identifiée par son prénom...

Il n'y a pas de magie :) 

C'est quoi actuellement le code de ton popup ?

  1. <?php
  2. mysql_connect("sql.free.fr", "***", "***");
  3. mysql_select_db("***");
  4. $reponse = mysql_query("SELECT * FROM chons WHERE prenom='".$_GET['prenom']."' "); // Requête SQL
  5. while ($donnees = mysql_fetch_array($reponse) )
  6. {
  7.  
  8. ?>
  9. <form action="valide_mod.php" method="post">
  10.  
  11. <input type="text" name="prenom" value="<?php echo $_GET['prenom']; ?>" style="display:none">
  12.  
  13. <p><strong class="Style5">Photo :</strong>
  14. <input type="text" name="photo" value="<?php echo $donnees['photo']; ?>" /></p>
  15. <p><strong class="Style5">Naissance :</strong>
  16. <input type="text" name="naissance" value="<?php echo $donnees['naissance']; ?>"/></p>
  17. <p><strong class="Style5">Coms :</strong>
  18. <textarea name="coms" cols="68" rows="5"><?php echo $donnees['coms']; ?></textarea>
  19. <br /><br />
  20. </p>
  21. <br /><br />
  22. <input name="envoyer" type="submit" value="envoyer"/>
  23. </form>
  24. <?
  25. }
  26. ?>

A premiere vu cela marche bien si je mais ca :

  1. <A HREF="#" onClick="window.open('mod.php?prenom=<?=$prenom?>','_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0, width=550, height=420');return(false)"><? echo $prenom ?><br /></a>


Mais est ce possible de fermer un popup avec la methode close() ou une autre en ayant pour que l'on doit cliquer sur un bouton supplementaire ?

Car si on le met sur le submit les infos ils sont pas sauvegardés ^^
Expert Programmation

muzicata a dit :
Mais est ce possible de fermer un popup avec la methode close() ou une autre en ayant pour que l'on doit cliquer sur un bouton supplementaire ?

Car si on le met sur le submit les infos ils sont pas sauvegardés ^^
J'ai rien compris^^

et puis je donne tout dans la fillé j'ai l'impression que la chance est contre moi :

Ce code genre bbcode by moi ( ca se voit ^^ ) ne marche pas et je ne sais pas pourquoi pourtant lors de l'essai sans mysql il marchait -_- : le Js est pas de moi, j'y comprend rien !

  1. <script language="Javascript">
  2. function bbcode(bbdebut, bbfin)
  3. {
  4. var input = window.document.formulaire.textarea;
  5. input.focus();
  6. if(typeof document.selection != 'undefined')
  7. {
  8. var range = document.selection.createRange();
  9. var insText = range.text;
  10. range.text = bbdebut + insText + bbfin;
  11. range = document.selection.createRange();
  12. if (insText.length == 0)
  13. {
  14. range.move('character', -bbfin.length);
  15. }
  16. else
  17. {
  18. range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
  19. }
  20. range.select();
  21. }
  22. else if(typeof input.selectionStart != 'undefined')
  23. {
  24. var start = input.selectionStart;
  25. var end = input.selectionEnd;
  26. var insText = input.value.substring(start, end);
  27. input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
  28. var pos;
  29. if (insText.length == 0)
  30. {
  31. pos = start + bbdebut.length;
  32. }
  33. else
  34. {
  35. pos = start + bbdebut.length + insText.length + bbfin.length;
  36. }
  37. input.selectionStart = pos;
  38. input.selectionEnd = pos;
  39. }
  40. else
  41. {
  42. var pos;
  43. var re = new RegExp('^[0-9]{0,3}$');
  44. while(!re.test(pos))
  45. {
  46. pos = prompt("insertion (0.." + input.value.length + "):", "0");
  47. }
  48. if(pos > input.value.length)
  49. {
  50. pos = input.value.length;
  51. }
  52. var insText = prompt("Veuillez taper le texte");
  53. input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
  54. }
  55. }
  56. function smilies(img)
  57. {
  58. window.document.formulaire.textarea.value += '' + img + '';
  59. }
  60.  
  61.  
  62. function textLimit(field, maxlen) {
  63. if (field.value.length > maxlen) {
  64. field.value = field.value.substring(0, maxlen);
  65. alert('Votre texte est trop long!');
  66. }
  67. }
  68.  
  69.  
  70. </script>


  1. <img src="smyl/smilesourire.png" title="" alt="" onClick="javascript:smilies(':sourire:');return(false)" /> <img src="smyl/smilieblink.gif" alt="" title="" onClick="javascript:smilies(':blink:');return(false)" /> <img src="smyl/smilieclin.png" alt="" title="" onClick="javascript:smilies(':clin:');return(false)" /> <img src="smyl/smilieheureux.png" alt="" title="" onClick="javascript:smilies(':D');return(false)" /> <img src="smyl/smiliehihi.png" alt="" title="" onClick="javascript:smilies(':hihi:');return(false)" /> <img src="smyl/smiliehuh.png" alt="" title="" onClick="javascript:smilies(':oh:');return(false)" /> <img src="smyl/smilielangue.png" alt="" title="" onClick="javascript:smilies(':P');return(false)" /> <img src="smyl/smiliemechant.png" alt="" title="" onClick="javascript:smilies(':mechant:');return(false)" /> <img src="smyl/smilierire.gif" alt="" title="" onClick="javascript:smilies(':mdr:');return(false)" /> <img src="smyl/smiliesiffle.png" alt="" title="" onClick="javascript:smilies(':siffle:');return(false)" /> <img src="smyl/smiliesunsure.gif" alt="" title="" onClick="javascript:smilies(':euh:');return(false)" /> <img src="smyl/smilietriste.png" alt="" title="" onClick="javascript:smilies(':triste:');return(false)" /> </p>
  2. <p>
  3. <br />
  4. <input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[gras]', '[/gras]');return(false)" />
  5. <input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[italic]', '[/italic]');return(false)" />
  6. <input type="button" id="lien" name="lien2" value="Lien" onClick="javascript:bbcode('{url=', '}{/url}');return(false)" />
  7. <input type="button" id="lien" name="lien2" value="Image" onClick="javascript:bbcode('[img]', '[/img]');return(false)" />
  8. <br>
  9.  
  10. <textarea cols="20" rows="10" value="" wrap="virtual" name="text" id="textarea" onkeyup="textLimit(this, 250);"><?php echo $donnees['coms']; ?></textarea>
Expert Programmation

muzicata a dit :
Faire en sorte qu'un fois les données transmise a la bdd donc une fois le submit submitter ^^ le pop-up se ferme de lui meme ?!?
une fois ton formulaire "submitter", la page doit être rechargée pour que le traitement vers mysql soit effectué. Il faut donc indiqué qu'une fois le traitement fait la page doit se fermer.

Une idée :
1/ tu envoies ton formulaire et la page se recharge
2/ le traitement vers la bdd est fait et a marché
3/ tu crées une variable confirmant la fin du traitement
  1. $traitement = '';

4/ dans la balise <body>, tu mets un javascript qui n'apparaît que quand le traitement vers la bdd est fait
  1. <body <?php if(isset($traitement)) { echo 'onload="javascript: self.close();"'; } ?>>



Je pense que ça marche, même si ce n'est pas très élégant...
Lassé par la pub ? Créez un compte