Afficher une fenêtre avec ECHO

Signaler
Messages postés
5
Date d'inscription
lundi 1 décembre 2008
Statut
Membre
Dernière intervention
9 décembre 2008
-
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
-
Bonjour,

voici une partie de mon code :

$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :

"; //si champs vide

$message = $msg_erreur;

//vérification des champs
if (empty($_POST['civilite']))
  $message .= "civilité
";
if (empty($_POST['nom']))
  $message .= "nom
"; 
if (empty($_POST['adresse']))
  $message .= "adresse
"; 
if (empty($_POST['adresseemail']))
  $message .= "adresseemail
";
if (empty($_POST['codepostal']))
  $message .= "codepostal
";
if (empty($_POST['ville']))
  $message .= "ville
";
if (empty($_POST['tel']))
  $message .= "tel
"; 
if (empty($_POST['newsletter']))
  $message .= "newsletter
";     
if (empty($_POST['interets']))
  $message .= "interets
";
if (empty($_POST['pays']))
  $message .= "pays
";
if (empty($_POST['login']))
  $message .= "login
";
if (empty($_POST['password']))
  $message .= "password
";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {

 echo $message;

} else {

etc...

J'aimerai pouvoir afficher dans une fenêtre a part le "echo $message;" mais pas dans la fenêtre principale je pense devoir utiliser : window.open, j'ai essayé diverse truc mais je ne trouve pas la solution.
Donc afficher le message d'erreur dans une petite fenêtre prédéfinie ou ajuster directement avec la place que prend le message comme c'est variable.

Merci de votre réponse, de votre aide.

2 réponses

Messages postés
232
Date d'inscription
jeudi 30 août 2007
Statut
Membre
Dernière intervention
31 juillet 2009

Essai comme ça :

if (strlen($message) > strlen($msg_erreur)) {

 echo "<script>window.open('tapage.html?msg=".$message."','nomduPopUp');</script>";

} else {

et tu utilise $_GET['msg'] dans tapage.html.

Mais c'est pas très propre ça je te conseillerais d'afficher ceci dans une div en position absolute centrer...

genre:
if (strlen($message) > strlen($msg_erreur)) {

 echo "
";

} else {
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Inutile de refaire un appel au serveur alors que ce genre de vérification peut se faire côté client :
Je ne gérerai pas ça côté PHP, mais uniquement en JS au moment de soumettre le formulaire, par une simple fonction et un simple "alert" (mais on peut mieux faire, comme par ex surligner les champs manquants). Bien sur il faut s'assurer à l'entrée sur le site que JS est activé chez le client (mais qui surfe sans JS activé de nos jours ?) et gérer les variables POST envoyées au script PHP avant traitement de celles ci (insertionBD, ...).

Cordialement,

Kohntark -