Ouvrir une fenêtre popup en PHP

WRInaute occasionnel
Bonjour, je désire ouvrir une fenêtre popup, voici le CODE que j'utilise :
Code:
<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.
 
WRInaute discret
Synthaxe : window.open('URL', 'nom', 'options');

Code:
<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 :)
 
WRInaute impliqué
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 ;)
 
WRInaute occasionnel
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.
 
WRInaute accro
tu as mis ton lien dans un href et dans un onclick... c pour ca que ca t'en ouvre deux

Code:
<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
 
WRInaute accro
Code:
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')\">"
 
WRInaute passionné
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:
<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>
 
WRInaute occasionnel
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...
 
WRInaute passionné
enleve les " dans mon code ça devrait passer ou sinon il faut les echapper avec \ comme l'a fait dd32
 
WRInaute occasionnel
En enlevant les "" sa marche, mais dès que je clique sur le lien, toujours 2 fenêtres s'ouvrent.
 
WRInaute accro
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:
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\">"
 
WRInaute passionné
normalement avec le return false tu n'affiches que le site en popup...
 
WRInaute occasionnel
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.
 
WRInaute accro
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:
<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]
 
WRInaute occasionnel
En fait, actuellement j'ai mes 2 liens pour ouvrir le popup A et le popup B. Voici le code :
Code:
<? $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...
 
WRInaute accro
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:
<? $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>"; 
}; 
?>
 
Nouveau WRInaute
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
 
Nouveau WRInaute
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
 
WRInaute impliqué
Essaie :
Code:
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')\">";
 
WRInaute occasionnel
darkjukka a dit:
Essaie :
Code:
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
 
WRInaute occasionnel
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:
 
Discussions similaires
Haut