Formulaire qui ouvre nouvelle fenêtre PHP/JS [Fermé]

Messages postés
216
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2019
- - Dernière réponse : jorge_gomes
Messages postés
76
Date d'inscription
vendredi 5 février 2010
Statut
Contributeur
Dernière intervention
28 novembre 2012
- 19 mars 2010 à 14:28
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 :
	/* 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++
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
737
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
24 février 2014
90
1
Merci
TARGET=_blank ?

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 64086 internautes nous ont dit merci ce mois-ci

Messages postés
216
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2019
16
1
Merci
target=_blank.... OK mais comment tu l'insères dans le code PHP ?
/* Affiche le message de remerciement */
header("Location: http://www.adressederemerciement.php");

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 64086 internautes nous ont dit merci ce mois-ci

Messages postés
1839
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
24 juillet 2019
127
1
Merci
en javascript :

echo "<script
language='javascript'>blank.location.href='index.php'</script>"



cette URL est étrange
http://www.adressederemerciement.php");

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 64086 internautes nous ont dit merci ce mois-ci

Messages postés
1839
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
24 juillet 2019
127
0
Merci
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é";
}

Messages postés
216
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2019
16
0
Merci
Je te remercie giheller, mais ce n'est pas l'objet de ma question... :)
Messages postés
216
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2019
16
0
Merci
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 :)
giheller
Messages postés
1839
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
24 juillet 2019
127 -
le chemin vers la page est-il correct ?
Messages postés
216
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2019
16
0
Merci
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 ?
Messages postés
1839
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
24 juillet 2019
127
0
Merci
il ne faut pas aller à la ligne et un ; à la fin
Messages postés
216
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
1 novembre 2019
16
0
Merci
Je sais, j'avais corrigé mais sans succès.

Quelqu'un a une petite idée ?
Messages postés
1839
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
24 juillet 2019
127
0
Merci
alors tente ceci
echo "<SCRIPT LANGUAGE='JavaScript'>window.open('index.php','_blank');</SCRIPT>";
0
Merci
window.open('url_a_ouvrir','nom_de_ma_popup','menubar=no, scrollbars=yes, top='+top+', left='+left+', width='+width+', height='+height+'');
Messages postés
76
Date d'inscription
vendredi 5 février 2010
Statut
Contributeur
Dernière intervention
28 novembre 2012
5
0
Merci
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é.