Afficher une fenêtre avec ECHO

epowerline Messages postés 5 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 9 décembre 2008 - 9 déc. 2008 à 14:55
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 14 déc. 2008 à 16:46
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

cs_mike1310 Messages postés 232 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 31 juillet 2009
9 déc. 2008 à 17:46
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 {
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
14 déc. 2008 à 16:46
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 -
0
Rejoignez-nous