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   -
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   Statut Membre Dernière intervention   104
 
TARGET=_blank ?
1
miltonis Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   19
 
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 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
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 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
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 234 Date d'inscription   Statut Membre Dernière intervention   19
 
Je te remercie giheller, mais ce n'est pas l'objet de ma question... :)
0
miltonis Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   19
 
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 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
le chemin vers la page est-il correct ?
0
miltonis Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   19
 
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 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
il ne faut pas aller à la ligne et un ; à la fin
0
miltonis Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   19
 
Je sais, j'avais corrigé mais sans succès.

Quelqu'un a une petite idée ?
0
giheller Messages postés 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
alors tente ceci
echo "<SCRIPT LANGUAGE='JavaScript'>window.open('index.php','_blank');</SCRIPT>";
0
jbduzan
 
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 71 Date d'inscription   Statut Contributeur Dernière intervention   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é.
0