[RESOLU] pop up non activé

Eléphanteau du PHP | 25 Messages

23 oct. 2021, 20:08

Bonsoir,

suite à un formulaire de contact, j'ai écrit cette ligne de code :
<?php
if($email!=NULL){
mail($mailto, $subject, $txt, $headers);
echo "<script>alert('message envoyé et reçu, merci.')</script>";
}
header('Location:../index.html');
?>
Le courriel est envoyé, puis l'utilisateur est renvoyé à la page d'accueil. Mais le message d'alerte ne se déclenche pas pourquoi ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

23 oct. 2021, 23:28

Parce que si tu demandes à faire une redirection via header() donc dans l'entête de réponse du serveur, ta demande va être exécutée par le navigateur web avant que ce dernier n'affiche l'éventuel code HTML/Javascript envoyé...

Du coup si tu veux afficher un alert(), il faut ensuite que tu fasses ta redirection en javascript et non pas via header()
https://developer.mozilla.org/fr/docs/W ... w/location
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 25 Messages

24 oct. 2021, 00:47

Donc la réponse est :
 
<?php	
if($email!=NULL){
	mail($mailto, $subject, $txt, $headers); }
?>

<script type="text/javascript">
alert("votre message nous est parvenu");
window.location.href = "/index.html";
</script>

Merci, problème résolu