Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
810 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Ouvrir une page dans une nouvelle fenêtre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ouvrir une page dans une nouvelle fenêtre

n°2170670
bingojm
Posté le 10-01-2013 à 23:19:54  profilanswer
 

Bonjour à tous,
 
Dans le traitement d'un formulaire en php, j'ai besoin, en plein milieu de ma fonction, d'ouvrir automatiquement une page dans une nouvelle fenêtre.
Pas de problème pour y arriver via ceci:

Code :
  1. echo "<script language='JavaScript'>window.open('".$sms_frm_message."','_blank','width=200, height=100');</script>";


Mais mon soucis est que IE me bloque comme un popup. Il faut autoriser la page etc, mais y a-t-il moyen d'éviter ça?
Je pense bien que php ne permet d'ouvrir une page dans une nouvelle fenêtre. Y aurait-il alors une autre solution?
 
Merci d'avance!


Message édité par bingojm le 10-01-2013 à 23:20:18
mood
Publicité
Posté le 10-01-2013 à 23:19:54  profilanswer
 

n°2170754
dwogsi
Défaillance cérébrale...
Posté le 11-01-2013 à 16:02:13  profilanswer
 

Déjà, tu mélange tout et du coup tu ne poste pas vraiment au bon endroit.
Là, tu n'utilise du php que pour écrire du javascript. C'est ton javascript qui ouvre ta popup et non pas ton php.
Ton post devrait donc plutôt se trouver dans la section HTML / CSS / JavaScript.

 

A part ça, tout les navigateurs bloquent l'ouverture de popup au chargement de la page étant donné tout les abus qui on été fait de cette fonctionnalité à des fins publicitaire.

 

Tu peux ouvrir une popup suite à une action de la part de ton utilisateur sur la page. Un clique par exemple. Il n'y a pas vraiment de solution pour bypasser ce fonctionnement et c'est tant mieux !

 

Tu peux t'orienter vers une popin (je déteste ce terme mais je n'en connais pas d'autre...).


Message édité par dwogsi le 11-01-2013 à 16:03:35

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°2170781
Pascal le ​nain
Posté le 11-01-2013 à 18:16:36  profilanswer
 

Et un <a target="_blank"></a> ca fait pas l'affaire ?

n°2170817
tsoko
Posté le 12-01-2013 à 11:05:14  profilanswer
 

Bonjour,
Vous souhaitez que lorsque la fonction PHP se lance, une fenêtre HTML se lance pour afficher un message de résultat?


---------------
Besoin d'aide pour votre projet? agence web
n°2171279
bingojm
Posté le 15-01-2013 à 12:22:25  profilanswer
 

Bonjour.
Merci pour votre aide. En fait, je dois lancer une fonction php via un webCron. Je viens de le tester. Le webcron se lance bien, mais la fonction javascript ne fonctionne pas. J'imagine qu'une fenêtre ne peut pas s'ouvrir vu que c'est un cron qui gère...
Pour info, c'est une fonction qui permet d'envoyer des sms automatiquement. Je dois envoyer les infos à envoyer par sms vers le serveur concerné. Je pourrais alors y arriver avec un header? Sinon comment faire pour envoyer ces infos en _GET?

n°2171298
x1fr
Posté le 15-01-2013 à 13:58:56  profilanswer
 

Il faut bien différencier traitement serveur de traitement client.

 

Le php est exécuté sur le serveur. Pour lui le javascript c'est juste du texte qu'il va transmettre au client.

 

Le javascript est exécuté sur le client. C'est lui qui va interprêter les commandes, et, dans ce cas précis ouvrir une popup.

 

Le truc c'est que dans le cas de webcron (je ne connais pas, mais j'imagine que c'est un site/programme qui permet de programmer l'appel d'une page à interval régulier, avec des paramètres pré-définis), le client n'est pas un navigateur web traditionnel et il y a peu de chance que le javascript soit exécuté.


Message édité par x1fr le 15-01-2013 à 14:00:32

---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2171301
bingojm
Posté le 15-01-2013 à 14:05:10  profilanswer
 

ok ok. cela dit, j'ai une solution?

n°2171324
x1fr
Posté le 15-01-2013 à 15:04:43  profilanswer
 

Ben quelle est la fonction de la popup? Afficher des infos?
 
Si oui, tu peux, au lieu de les afficher, les envoyer par mail ou les enregistrer en base par exemple


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2171337
bingojm
Posté le 15-01-2013 à 15:40:22  profilanswer
 

non en fait le but est d'envoyer des infos en variable url.
ex: www.mapage.php?gsm=0478123456&msg=salut
Comment puis-je faire dans ce cas?

n°2171360
x1fr
Posté le 15-01-2013 à 16:59:51  profilanswer
 

Je ne suis pas sûr de comprendre.
 
Le but de la popup est d'aller appeler ta page à l'url donnée en exemple?
 
Si c'est ça, tu peux utiliser curl (à condition que l'extension soit activée sur le serveur web)
 
Voir peut être directement appeler cette page depuis le webcron, mais ça implique que les arguments soient statiques, ce qui n'est pas le cas je pense


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
mood
Publicité
Posté le 15-01-2013 à 16:59:51  profilanswer
 

n°2171387
bingojm
Posté le 15-01-2013 à 21:05:49  profilanswer
 

x1fr a écrit :

Je ne suis pas sûr de comprendre.
 
Le but de la popup est d'aller appeler ta page à l'url donnée en exemple?
 
Si c'est ça, tu peux utiliser curl (à condition que l'extension soit activée sur le serveur web)
 
Voir peut être directement appeler cette page depuis le webcron, mais ça implique que les arguments soient statiques, ce qui n'est pas le cas je pense


Merci, je crois que c'est exactement ca que je cherche!
Mais il semble y avoir un problème. En lisant la doc, voici ce que j'ai fait:

Code :
  1. $mon_url='www.mapage.php?gsm=0478123456&msg=salut';
  2.  $ch = curl_init();
  3.  curl_setopt($ch, CURLOPT_URL, $mon_url);
  4.  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  5.  $recup_html = curl_exec ($ch);
  6.  echo $recup_html;


Mais voilà le message d'erreur que j'ai:

Bad Request
Your browser sent a request that this server could not understand.
The request line contained invalid characters following the protocol string.
--------------------------------------------------------------------------------
Apache/1.3.37 Server at ns36972.ovh.net Port 80


Est-ce que j'ai fait une erreur ou est-ce que ca veut dire que ca n'ira pas sur mon serveur???
 
Merci encore pour votre aide!

n°2171411
x1fr
Posté le 15-01-2013 à 23:21:48  profilanswer
 

Est ce que tu as bien mis une url correcte?
 
parce celle que tu mets www.mapage.php?gsm=0478123456&msg=salut n'est pas valide par exemple


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2171435
bingojm
Posté le 16-01-2013 à 10:37:02  profilanswer
 

j'ai bien une url correcte. Elle commence bien par http://www.etc
si je mets cette adresse dans le navigateur directement, l'envoi du sms (vu que c'est son but) s'effectue correctement.
Une idée?

n°2171453
x1fr
Posté le 16-01-2013 à 11:27:38  profilanswer
 

D'apres ce qu'on peut trouver sur le net (ici par exemple), ça viendrait du serveur.
 
Tu as accès au log du serveur web (pas celui qui lance le cron, mais celui qui contient la page qui envois le sms)?


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2171456
bingojm
Posté le 16-01-2013 à 11:40:24  profilanswer
 

Non pas d'accès. c'est un service payant qui ne donne aucun accès.
Pour que le sms s'envoie, j'ai juste besoin de leur envoyer une url qui contient les différentes valeurs en GET c'est tout.
Donc là, je sèche complètement pour envoyer des sms automatiquement avec un cron.
Ton idée avec curl_init avait l'air d'être vraiment ce qu'il fallait, mais je ne comprends pas pq ca bloque...

n°2171472
x1fr
Posté le 16-01-2013 à 12:18:37  profilanswer
 

essaye de remplacer cette ligne :

Code :
  1. curl_setopt($ch, CURLOPT_URL, $mon_url);


 
par:

Code :
  1. curl_setopt($ch, CURLOPT_URL, urlencode($mon_url));


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2171475
bingojm
Posté le 16-01-2013 à 12:37:43  profilanswer
 

plus de message d'erreur, mais cela ne fonctionne pas...

n°2171477
bingojm
Posté le 16-01-2013 à 12:44:22  profilanswer
 

J'ai trouvé l'erreur grâce à toi!
En fait c'est dans l'url que ca bloque, mais curl_init c'est nikel.
Peux tu me dire ce que ne va pas?
Dans mon url, j'ai mis:
"http://www.monsite.be/envoi.php?auteur=1&Message=Nous vous souhaitons un très joyeux anniversaire";
Si je ne mets qu'un mot après Message, ça passe, mais pas quand j'en mets plusieurs... avec espaces?
Par contre si je colle directement ce lien dans l'url, ca passe.


Message édité par bingojm le 16-01-2013 à 12:45:27
n°2171495
x1fr
Posté le 16-01-2013 à 14:05:02  profilanswer
 

Et si tu remplaces les espaces par des %20, ça donne quoi? (si ca fonctionne, il faudra utiliser rawurlencode à la place de urlencode)


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2171496
bingojm
Posté le 16-01-2013 à 14:15:32  profilanswer
 

c'est super.
J'ai oublié de précisé tout à l'heure. Cela fonctionne avec curl mais pas avec urlencode.
donc je dois simplement remplacer les espaces par %20 et c'est nickel. Un tout grand merci!!!

n°2171499
x1fr
Posté le 16-01-2013 à 14:39:26  profilanswer
 

Pas uniquement remplacer les espaces par %20, tous les caractères non alpha-numériques sont concernés, par exemple si ton message sms contient un "/" tu va avoir le même genre de soucis, c'est pour ça qu'il faut utiliser rawurlencode


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Ouvrir une page dans une nouvelle fenêtre

 

Sujets relatifs
redirection permente site web depuis page perso freeMis en page Fpdf
Modification d'un site PHP, problème affichage page (débutant)Inclusion de PHP dans une page HTML
Lancer un exécutable à distanc dans la session ouverte via une pge webouvrir une MsgBox en VBS sur un ordinateur distant
Transfert d'une variable d'une page à l'autreouvrir la page ds une nouvelle fenetre pour liens aleatoires
[PHP] Ouvrir une page HTML dans une nouvelle fenêtre ![HTML] comment faire pour ouvrir une page dans une nouvelle fenetre?
Plus de sujets relatifs à : Ouvrir une page dans une nouvelle fenêtre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR