Ouvrir une fenètre popup depuis un formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ouvrir une fenètre popup depuis un formulaire

Re: Ouvrir une fenètre popup depuis un formulaire

par blender » 29 juin 2011, 22:46

J'ai trouvé!!!
Si ça peu aidé,voici ma solution.

J'ai ajouté ce script:
<head><meta http-equiv="refresh" content="0;URL=accueil_022.htm"></head>.

Re: Ouvrir une fenètre popup depuis un formulaire

par blender » 29 juin 2011, 22:20

Bonsoir,

Merci pour ton lien,il me sera bien utile.
Le script fontionne parfaitement.Le problème venait de mon fichier contact.html
Le problème de l'onglet et de la fenêtre pop-up sont résolu.

Il me reste un dernier petit souci,je n'arrive pas a faire la redirection vers ma page d'accueil tout en ayant la fenetre pop-up.


J'ai ajouter dans mon formulaire.php header("Location:accueil_022.htm");

Si je place cette fonction avant celle de la fenetre pop-up;redirection ok mais fenêtre pop-up ne s'ouvre pas.
Si je place header après le script du pop-up j'ai un message d'erreur

Warning: Cannot modify header information - headers already sent by (output started at /mnt/154/sda/3/9/mon.site/formulaire.php:12) in /mnt/154/sda/3/9/mon.sites/formulaire.php on line 13

Voici le formulaire:

<?php
$TO = "[email protected]";
$subject = "sujet";
$h = "From: " . $TO;
$message = "Message";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
header("Location:accueil_022.htm")
echo '<script>
window.open("accuse.html","pop_up","width=300, height=200, toolbar=no status=no" );
</script>';
?>



Une idée du problème?
D'avance merci

Re: Ouvrir une fenètre popup depuis un formulaire

par Jonathan » 29 juin 2011, 18:06

Bonjour,

la méthode de Skw33d fonctionne parfaitement.

Un petit supplément, clair et concis, pour gérer les attributs de la pop-up :
http://www.aliasdmc.fr/coursjavas/cours ... -attributs

Re: Ouvrir une fenètre popup depuis un formulaire

par blender » 29 juin 2011, 18:05

Merci beaucoup,j'ai rajouté ton code et ça fonctionne.
Ma page accuse s'affiche dans la fenètre popup.


<?php
$TO = "[email protected]";
$subject = "sujet";
$h = "From: " . $TO;
$message = "Message visiteur ";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
echo '<script>
window.open("accuse.html","pop_up","width=300, height=200, toolbar=no status=no" );
</script>';
?>

Il reste un problème par contre,ma page formulaire.php s'ouvre toujours dans un nouvel onglet.
C'est à dire que je clic sur le bouton validé de ma page contact,de là la page forumlaire s'ouvre dans le nouvel onglet en plus de la page accuse.html en popup.

Il est possible que la page soit active sans qu'elle ne s'affiche à l'écran?

Re: Ouvrir une fenètre popup depuis un formulaire

par Skw33d » 29 juin 2011, 17:29

Le PHP est un langage qui s’exécute coté serveur. Il ne peut donc pas interagir avec le navigateur.

Pour ouvrir une pop-up il faut utiliser le code Javascript suivant qui lui peut interagir avec la navigateur:

<script>
window.open("accuse.html","pop_up","width=300, height=200, toolbar=no status=no" );
</script>

Donc en PHP dans ton cas, tu pourras mettre ça dans un echo.

Comme ceci :

echo '<script>
window.open("accuse.html","pop_up","width=300, height=200, toolbar=no status=no" );
</script>';

Ouvrir une fenètre popup depuis un formulaire

par blender » 29 juin 2011, 17:21

Bonjour,

J'espère que vous pourrez m'aidé à régler mon problème.
Je vous explique,je n'arrive pas à ouvrir une fenètre en popup,voici le script d'origine:

<?php
$TO = "[email protected]";
$subject = "monsujet";
$h = "From: " . $TO;
$message = "lemessage";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
header("Location:accuse.html");
?>

J'ai essayé plein de script différent mais je n'arrive pas à faire ouvrir la page accuse.html dans une fenètre popup,systématiquement la page accuse.html s'ouvre dans un nouvel onglet.

Le but est qu'une fenètre s'ouvre en popup pour dire à la personne que le message est bien partie.

Si vous avez une idée sur la nature du problème d'avance,merci.