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

Signaler
Messages postés
227
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
23 octobre 2020
-
Messages postés
76
Date d'inscription
vendredi 5 février 2010
Statut
Contributeur
Dernière intervention
28 novembre 2012
-
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++

12 réponses

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

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

CCM 76687 internautes nous ont dit merci ce mois-ci

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

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

CCM 76687 internautes nous ont dit merci ce mois-ci

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

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



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

1
Merci

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

CCM 76687 internautes nous ont dit merci ce mois-ci

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

Quelqu'un a une petite idée ?
Messages postés
1838
Date d'inscription
dimanche 14 juin 2009
Statut
Membre
Dernière intervention
24 juillet 2019
137
alors tente ceci
echo "<SCRIPT LANGUAGE='JavaScript'>window.open('index.php','_blank');</SCRIPT>";
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
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é.