Ouvrir une fenêtre popup en PHP

Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

gcvoiron
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 494
Enregistré le: 19 Oct 2005

Ouvrir une fenêtre popup en PHP

Message le Lun Mai 08, 2006 20:09

Bonjour, je désire ouvrir une fenêtre popup, voici le CODE que j'utilise :
Code: Tout sélectionner
<a href=popup-mail.php?mail=$myrow[2] target=wclose
onclick=window.open('popup-mail.php?mail=$myrow[2]','wclose','width=500','height=300','toolbar=no','status=no','left=20','top=30')> Envoyer un mail</A>


Le problème est que quand je change les valeurs de width et height, la fenêtre ne change pas de dimension... Pourriez-vous m'aider? Merci.

Bellouga28
WRInaute discret
WRInaute discret
 
Messages: 102
Enregistré le: 12 Avr 2006

Message le Lun Mai 08, 2006 20:26

y a pas d'apostrophe entre les parametres

'width=500, height=30'


Eric 2A
WRInaute discret
WRInaute discret
 
Messages: 195
Enregistré le: 26 Fév 2006

Message le Lun Mai 08, 2006 20:28

Synthaxe : window.open('URL', 'nom', 'options');

Code: Tout sélectionner
<a href=popup-mail.php?mail=$myrow[2] target=wclose
onclick=window.open('popup-mail.php?mail=$myrow[2]','wclose','width=500,height=300,toolbar=no,status=no,left=20,top=30')> Envoyer un mail</A>


Edit : Bellouga28 plus rapide :)

Bourriquet
WRInaute impliqué
WRInaute impliqué
 
Messages: 637
Enregistré le: 19 Sep 2005

Message le Lun Mai 08, 2006 21:17

Sinon, juste pour corriger, tu l'ouvres pas en PHP, mais tu l'ouvres en JavaScript que tu as généré à la volée grâce à un bout de code PHP ;)

gcvoiron
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 494
Enregistré le: 19 Oct 2005

Message le Lun Mai 08, 2006 21:27

C'est parfait! Merci beaucoup, bonne soirée.

gcvoiron
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 494
Enregistré le: 19 Oct 2005

Message le Lun Mai 08, 2006 21:32

Ca marche mais àa m'ouvre 2 fenêtre :
-Un popup
-Le même popup dans mon navigateur
Comment faire pour que ça en ouvre juste une?
Merci.


finstreet
WRInaute accro
WRInaute accro
 
Messages: 18081
Enregistré le: 10 Juil 2005

Message le Lun Mai 08, 2006 21:40

tu as mis ton lien dans un href et dans un onclick... c pour ca que ca t'en ouvre deux

Code: Tout sélectionner
<a href="#" onClick="window.open('trucmuche.php','Fiche','toolbar=no,status=no,width=650 ,height=600,scrollbars=yes,location=no,resize=yes,menubar=yes')">


C ce que j'utilise


Eric 2A
WRInaute discret
WRInaute discret
 
Messages: 195
Enregistré le: 26 Fév 2006

Message le Lun Mai 08, 2006 22:27

Bien vu finstreet !

gcvoiron
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 494
Enregistré le: 19 Oct 2005

Message le Lun Mai 08, 2006 22:29

Mais le code de finstreet ne convient pas car je place mon code après echo"...


dd32
Modérateur
Modérateur
 
Messages: 3426
Enregistré le: 9 Sep 2005

Message le Lun Mai 08, 2006 22:36

Code: Tout sélectionner
echo "<a href=\"#\" onClick=\"window.open('trucmuche.php','Fiche','toolbar=no,status=no,width=650 ,height=600,scrollbars=yes,location=no,resize=yes,menubar=yes')\">"

AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Enregistré le: 31 Mai 2005

Message le Lun Mai 08, 2006 22:38

Vous avez oublié les bases du référencement les petits gars????
il faut mettre le lien dans le href si on veut qu'il soit suivi par les moteurs, une syntaxe comme ceci devrait marcher :

Code: Tout sélectionner
<a href="popup-mail.php?mail=$myrow[2]" onclick="window.open('popup-mail.php?mail=$myrow[2]','wclose','width=500,height=300,toolbar=no,status=no,left=20,top=30'); return false;"> Envoyer un mail</a>

gcvoiron
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 494
Enregistré le: 19 Oct 2005

Message le Lun Mai 08, 2006 22:57

Ca ne marche toujours pas. Avec le code de dd32, les liens pour ouvrir le popup ne sont pas affiché. Et avec celui de AW, les "" ne passent pas...

AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Enregistré le: 31 Mai 2005

Message le Lun Mai 08, 2006 23:02

enleve les " dans mon code ça devrait passer ou sinon il faut les echapper avec \ comme l'a fait dd32

gcvoiron
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 494
Enregistré le: 19 Oct 2005

Message le Lun Mai 08, 2006 23:07

En enlevant les "" sa marche, mais dès que je clique sur le lien, toujours 2 fenêtres s'ouvrent.


dd32
Modérateur
Modérateur
 
Messages: 3426
Enregistré le: 9 Sep 2005

Message le Lun Mai 08, 2006 23:44

normal...c'est justement ce que te recommande AW (pour un meilleur référencement, vu que c'est le thème du forum)

donc en ce qui concerne mon code (mais non optimisé référencement), le voici corrigé (et n'affichant qu'une seule fois la popup) :
Code: Tout sélectionner
echo "<a href=\"#\" onClick=\"window.open('popup-mail.php?mail=$myrow[2]','wclose','width=500,height=300,toolbar=no,status=no,left=20,top=30\">"

AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Enregistré le: 31 Mai 2005

Message le Lun Mai 08, 2006 23:57

normalement avec le return false tu n'affiches que le site en popup...

gcvoiron
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 494
Enregistré le: 19 Oct 2005

Message le Mar Mai 09, 2006 0:14

C'est bon, j'ai utilisé le code de dd32 et ça marche. Mais est-ce possible d'ouvrir les popup dans une nouvelle fenêtre? (si j'en ouvre 2 à la suite, l'un prend la place de l'autre...). Merci.


dd32
Modérateur
Modérateur
 
Messages: 3426
Enregistré le: 9 Sep 2005

Message le Mar Mai 09, 2006 0:34

tu veux dire que tu voudrais :
cliquer sur un lien pour ouvrir la popup A
puis cliquer sur un autre lien et que ça ouvre une popup B ?
c'est bien ça ?

dans ce cas, il faut changer la partie nom dans le code :
window.open('URL', 'nom', 'options'); (comme l'indiquait Bourriquet)

echo "<a href=\"#\" onClick=\"window.open('popup-mail.php?mail=$myrow[2]','nomdelafenetre','width=500,height=300,toolbar=no,status=no,left=20,top=30\">"


change le nomdelafenetre par celui de ton choix (à changer à chaque ouverture de popup différente).
Dans les précédents exemples nous avions wclose comme nom de fenêtre...

Sinon, je ne comprends pas pourquoi ça ne marche pas avec la solution d'AW...


@AW

Code: Tout sélectionner
<a href="popup-mail.php?mail=$myrow[2]" onclick="window.open('popup-mail.php?mail=$myrow[2]','wclose','width=500,height=300,toolbar=no,status=no,left=20,top=30'); return false;"> Envoyer un mail</a>

ôte-moi d'un doute stp :
[doute]
le return false indique qu'on n'ouvre pas de popup (window.open) à partir du onclick
mais alors comment la popup s'ouvre-t-elle ? car depuis le href, c'est un lien qui s'ouvre dans la même fenêtre, non ? ce n'est pas une popup
[/doute]

gcvoiron
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 494
Enregistré le: 19 Oct 2005

Message le Mar Mai 09, 2006 0:43

En fait, actuellement j'ai mes 2 liens pour ouvrir le popup A et le popup B. Voici le code :
Code: Tout sélectionner
<? $result = mysql_query("SELECT id, url, email FROM `demo_a_accounts` prev ORDER by id");
   while ($myrow = mysql_fetch_row($result)){
 echo"
<TR><td class=Style1><center class=Style1 ><b><HR noshade color=red size=3></b></TD></TR>
<TR><td class=Style1><center class=Style1 ><b>ID : $myrow[0] - <a href=\"#\" onClick=\"window.open('popup-mail.php?mail=$myrow[2]','Fiche','toolbar=no,status=no,width=480 ,height=430,scrollbars=no,location=no,resize=no,menubar=no')\">Email : $myrow[2] -
<a href=\"#\" onClick=\"window.open('popup-credits.php?mail=$myrow[2]','Fiche','toolbar=no,status=no,width=480 ,height=430,scrollbars=no,location=no,resize=no,menubar=no')\">Créditer


</b></TD></TR>
<TR><td class=Style1><b>Site : <a href=./frame.php?url=$myrow[1] target=_blank>$myrow[1]</a></td></TR>";
};
?>


Si je clique sur "Email" pour ouvrir le popup A puis sur "Créditer" pour ouvrir le popup B, il n'y a qu'un popup d'ouvert. Le popup B s'ouvre dans la page du popup A et pas dans une nouvelle page...


dd32
Modérateur
Modérateur
 
Messages: 3426
Enregistré le: 9 Sep 2005

Message le Mar Mai 09, 2006 0:50

ok, c'est bien ce que je disais...

Dans le code, au lieu de 'Fiche', essaie d'appeler la popup Email : 'Email'

et la popup Crediter : 'Crediter'

Code: Tout sélectionner
<? $result = @mysql_query("SELECT id, url, email FROM `demo_a_accounts` prev ORDER by id");
   while ($myrow = @mysql_fetch_row($result)){
 echo"
<TR><td class=\"Style1\"><center class=\"Style1\" ><b><HR noshade color=\"red\" size=\"3\"></b></TD></TR>
<TR><td class=\"Style1\"><center class=\"Style1\" ><b>ID : $myrow[0] - <a href=\"#\" onClick=\"window.open('popup-mail.php?mail=$myrow[2]','Email','toolbar=no,status=no,width=480 ,height=430,scrollbars=no,location=no,resize=no,menubar=no')\">Email : $myrow[2] -
<a href=\"#\" onClick=\"window.open('popup-credits.php?mail=$myrow[2]','Crediter','toolbar=no,status=no,width=480 ,height=430,scrollbars=no,location=no,resize=no,menubar=no')\">Créditer </b></TD></TR>
<TR><td class=\"Style1\"><b>Site : <a href=\"./frame.php?url=$myrow[1]\" target="_blank">$myrow[1]</a></td></TR>";
};
?>


finstreet
WRInaute accro
WRInaute accro
 
Messages: 18081
Enregistré le: 10 Juil 2005

Message le Mar Mai 09, 2006 1:08

gcvoiron a écrit:Mais le code de finstreet ne convient pas car je place mon code après echo"...


oui enfin en meme temps si tu ne sais pas coller quelques \ dans une ligne de code

xvrachid
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Enregistré le: 29 Sep 2008

Message le Lun Sep 29, 2008 12:39

bonjour à tous je viens de lire ce topic car j'ai le meme souci j'essaye d'ouvrir un lien dans une petite fenetre
j'ai essayé les solution proposées dans ce sujet mais en vaine voila mon bout de code si qq pouvait me dire ce qui cloche dedans
echo '<td ><a href=\"#\" onClick=\"window.open('detail.php?id='.$donnees 'id'].','detail','toolbar=no,status=no,width=480 ,height=430,scrollbars=no,location=no,resize=no,menubar=no')\">
et merci à vous

xvrachid
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Enregistré le: 29 Sep 2008

Message le Lun Sep 29, 2008 12:47

et voici le méssage que je reçois
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\monsite\result.php on line 91
merci encore

darkjukka
WRInaute impliqué
WRInaute impliqué
 
Messages: 675
Enregistré le: 28 Avr 2007

Message le Lun Sep 29, 2008 14:03

Essaie :
Code: Tout sélectionner
echo "<td ><a href=\"#\" onClick=\"window.open('detail.php?id='.$donnees 'id'].','detail','toolbar=no,status=no,width=480 ,height=430,scrollbars=no,location=no,resize=no,menubar=no')\">";


Mth
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 367
Enregistré le: 24 Aoû 2005

Message le Jeu Nov 06, 2008 16:26

darkjukka a écrit:Essaie :
Code: Tout sélectionner
echo "<td ><a href="#" onClick="window.open('detail.php?id='.$donnees 'id'].','detail','toolbar=no,status=no,width=480 ,height=430,scrollbars=no,location=no,resize=no,menubar=no')">";


Je viens d'utiliser ce code pour enregistrer un email utilisateur et mot de passe dans une fenêtre pop up (pour que les données visibles dans la page précédente ne soient pas cachées)

Comment faire pour que après validation dans cette pop up, on se retrouve sur une page complète, normale, c'est surement possible....

Merci de votre aide


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 10861
Enregistré le: 23 Nov 2005

Message le Jeu Nov 06, 2008 17:27

Suffit de rediriger la page opener sur ta page de finalisation d'inscription, et de ferme la pop avec un self.close().


Mth
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 367
Enregistré le: 24 Aoû 2005

Message le Jeu Nov 06, 2008 18:45

Merci UsagiYojimbo,

je n'arrive pas à faire exactement ce que je voudrais,

avec self.close() il faut intervenir pour fermer une page, n'est-ce pas ?

j'ai pris le parti de faire ma pop up resizable, la validation des codes email et passe envoie sur la page que je veux, donc pour ça c'est bon.

Il y a juste cette permière page ouverte avec les données à recopier que je voudrais fermer sans intervention.

c'est possible .... ou bien sur :roll:


Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :