Formulaire qui ouvre nouvelle fenêtre PHP/JS
miltonis
Messages postés
234
Date d'inscription
Statut
Membre
Dernière intervention
-
jorge_gomes Messages postés 71 Date d'inscription Statut Contributeur Dernière intervention -
jorge_gomes Messages postés 71 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
La question a été posée plusieurs fois par le passé, mais ma demande est quelque peu différente. Je m'explique :
J'ai un formulaire qui lors de sa validation envoie un email et affiche une page de remerciement. Jusque là, aucun souci :)
Le problème apparait quand on me demande que ce message de remerciement s'ouvre sur une nouvelle fenêtre mais pas en popup mais une fenêtre "normale". Si je suis sur Firefox par exemple un nouvel onglet pour que ça ne soir pas bloqué par le navigateur.
Jusqu'ici ça fonctionnait comme ça et plutôt très bien :
Si je garde la redirection en PHP : Comment lui dire d'ouvrir une nouvelle fenêtre ?
Si je choisis le Javascript : Quel est le code pour ouvrir une nouvelle fenêtre sans que ce soit bloqué car pris pour une popup pub ?
Voilà, svp mettez-moi sur la voie, merci d'avance :)
a++
La question a été posée plusieurs fois par le passé, mais ma demande est quelque peu différente. Je m'explique :
J'ai un formulaire qui lors de sa validation envoie un email et affiche une page de remerciement. Jusque là, aucun souci :)
Le problème apparait quand on me demande que ce message de remerciement s'ouvre sur une nouvelle fenêtre mais pas en popup mais une fenêtre "normale". Si je suis sur Firefox par exemple un nouvel onglet pour que ça ne soir pas bloqué par le navigateur.
Jusqu'ici ça fonctionnait comme ça et plutôt très bien :
/* Envoi d'un email contenant les infos du formulaire */ $EMAIL = "adreese@email.com"; $TO = "adresse@email.com"; $h = "From: " . $EMAIL; $subject = "Inscription à un séminaire"; $message = ""; while (list($key, $val) = each($HTTP_POST_VARS)) { $message .= "$key : $val\n"; } mail($TO, $subject, $message, $h); /* Affiche le message de remerciement */ header("Location: http://www.adressederemerciement.php");
Si je garde la redirection en PHP : Comment lui dire d'ouvrir une nouvelle fenêtre ?
Si je choisis le Javascript : Quel est le code pour ouvrir une nouvelle fenêtre sans que ce soit bloqué car pris pour une popup pub ?
Voilà, svp mettez-moi sur la voie, merci d'avance :)
a++
A voir également:
- Formulaire qui ouvre nouvelle fenêtre PHP/JS
- Whatsapp formulaire opposition - Guide
- Darkino nouvelle adresse - Guide
- Formulaire de réclamation facebook - Guide
- Extreme download nouvelle adresse - Accueil - Outils
- Fenetre windows - Guide
12 réponses
target=_blank.... OK mais comment tu l'insères dans le code PHP ?
/* Affiche le message de remerciement */ header("Location: http://www.adressederemerciement.php");
en javascript :
echo "<script
language='javascript'>blank.location.href='index.php'</script>"
cette URL est étrange
http://www.adressederemerciement.php");
echo "<script
language='javascript'>blank.location.href='index.php'</script>"
cette URL est étrange
http://www.adressederemerciement.php");
bonjour,
perso je ferais :
$envoi = mail($TO, $subject, $message, $h);
if ($envoi) {
// ici le code de remerciement
echo "merci";
}
else {
echo "l'envoi a échoué";
}
perso je ferais :
$envoi = mail($TO, $subject, $message, $h);
if ($envoi) {
// ici le code de remerciement
echo "merci";
}
else {
echo "l'envoi a échoué";
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
euh... ça ne marche pas ton truc... j'ai remplacé index.php par l'url de remerciement et ça affiche une page blanche. ça n'ouvre pas non plus une nouvelle fenêtre.
Pour l'url étrange c'est juste un exemple :)
Pour l'url étrange c'est juste un exemple :)
Oui, le formulaire focntionne bien depuis quelque temps. La nouveauté c'est l'ouverture dans une nouvelle fenêtre.
J'ai testé ce que tu m'as envoyé en local avec page.php qui appelle index.php sans toute ma structure et ça ne marche pas non plus.
Sans vouloir paraitre chiant, es-tu certain de ta ligne de code ?
J'ai testé ce que tu m'as envoyé en local avec page.php qui appelle index.php sans toute ma structure et ça ne marche pas non plus.
Sans vouloir paraitre chiant, es-tu certain de ta ligne de code ?
window.open('url_a_ouvrir','nom_de_ma_popup','menubar=no, scrollbars=yes, top='+top+', left='+left+', width='+width+', height='+height+'');
Je te conseillerai à que ton formulaire fasse appel à une à un lien externe:
exemple:
< input type="button" value="Envoyer" onclick="send_mail()" />
Dans la fonction send mail tu vas faire un appel ajax vers le script php qui fait lui le vrai envoie du mail. A la fin, ce script retourne un réponse booléenne (true/false), pour dire si l'action a bien été réalisée avec succès.
Voilà via ajax ton mail a été envoyé! Alors à la réception de la réponse dans la fonction ajax tu fais un if/else, pour ouvrir la fenêtre, avec le message adapté.
exemple:
< input type="button" value="Envoyer" onclick="send_mail()" />
Dans la fonction send mail tu vas faire un appel ajax vers le script php qui fait lui le vrai envoie du mail. A la fin, ce script retourne un réponse booléenne (true/false), pour dire si l'action a bien été réalisée avec succès.
Voilà via ajax ton mail a été envoyé! Alors à la réception de la réponse dans la fonction ajax tu fais un if/else, pour ouvrir la fenêtre, avec le message adapté.