Formulaire qui ouvre nouvelle fenêtre PHP/JS

Fermé
miltonis Messages postés 238 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 30 septembre 2022 - 10 mars 2010 à 20:42
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++
A voir également:

12 réponses

dream666 Messages postés 735 Date d'inscription mardi 8 juillet 2008 Statut Membre Dernière intervention 24 février 2014 104
11 mars 2010 à 11:09
TARGET=_blank ?
1
miltonis Messages postés 238 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 30 septembre 2022 19
11 mars 2010 à 11:45
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
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
11 mars 2010 à 13:20
en javascript :

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



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

1
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
11 mars 2010 à 11:53
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é";
}

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
miltonis Messages postés 238 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 30 septembre 2022 19
11 mars 2010 à 12:17
Je te remercie giheller, mais ce n'est pas l'objet de ma question... :)
0
miltonis Messages postés 238 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 30 septembre 2022 19
11 mars 2010 à 13:29
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 :)
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
11 mars 2010 à 13:58
le chemin vers la page est-il correct ?
0
miltonis Messages postés 238 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 30 septembre 2022 19
11 mars 2010 à 14:02
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 ?
0
giheller Messages postés 1875 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 3 février 2024 142
11 mars 2010 à 15:47
il ne faut pas aller à la ligne et un ; à la fin
0
miltonis Messages postés 238 Date d'inscription mercredi 6 octobre 2004 Statut Membre Dernière intervention 30 septembre 2022 19
11 mars 2010 à 16:34
Je sais, j'avais corrigé mais sans succès.

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