Afficher DIV sous condition
malabarbe
Messages postés
136
Statut
Membre
-
malabarbe Messages postés 136 Statut Membre -
malabarbe Messages postés 136 Statut Membre -
Bonjour à tous,
Je galère pour afficher une div si la valeur == 1
Merci de m'aider.
Je galère pour afficher une div si la valeur == 1
<html>
<head>
<meta http-equiv="Content-Language" content="fr">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Erreur de Saisie</title>
<script language="Javascript">
// La fonction qui affiche/masque l'élément
function bascule(elem)
{
// Quel est l'état actuel ?
etat=document.getElementById(elem).style.visibility;
if(etat=="hidden"){document.getElementById(elem).style.visibility="visible";}
else{document.getElementById(elem).style.visibility="hidden";}
}
</script>
</head>
<body>
<?PHP
$erreur=1;
if ($erreur == 1)
{
$erreur = "Date du QSO";
?>
<script type="text/javascript">
bascule(voirerr);
</script>
<div id="voirerr" align="center" style="top:160px; position:absolute; width:100%; visibility:hidden" >
<table border="1" width="380" id="table1" height="154" bgcolor="#C7C7C7">
<tr>
<td colspan="2" bgcolor="#2058FF">
<p align="center">
<font face="Comic Sans MS" color="#FFFFFF" size="4">Erreur de Saisie
!</font></td>
</tr>
<tr>
<td width="19%" rowspan="4">
<p align="center">
<img border="0" src="images/exclamation.gif" width="46" height="47"></td>
<td width="76%"> </td>
</tr>
<tr>
<td width="76%">
<p align="center"><font face="Comic Sans MS">Veuillez remplir le champ
</td>
</tr>
<tr>
<td width="76%">
<p align="center">
<b><font color="#FF0000" size="5" face="Comic Sans MS">
<?PHP
echo $erreur;
?>
</td>
</tr>
<tr>
<td width="76%" height="31"> </td>
</tr>
</table>
</div>
</body>
</html>
Merci de m'aider.
12 réponses
-
Salut,
<?php $erreur = 1; if($erreur == 1){?> <div>Hello</div> <?php } ?>
-
Bonsoir Trian44,
Ok, Merci cela fonctionne.
Mais j'ai 20 erreurs a gérer !
Comment ne pas répéter la DIV 20 fois ?
A vous lire -
Si vous avez 20 champs différents à traiter, je crains que vous ne soyez obligé de vous taper les 20 div. Ceci dit, la gestion des erreurs donc les "div" doivent être généré du côté PHP avec un poil de CSS ..
.erreur{ border:1px solid red; color:red; margin:5px; padding:5px; }<?php if(empty($_POST["champ"])){ $erreur1 = '<div class="erreur">Champ vide!</div>'; } //etc.. ?>
Puis dans le formulaire à l'endroit souhaité :<?php if(isset($erreur1)){ echo $erreur1; } ?> -
OK, Merci, je vais tester.
Mais comment faire disparaitre La DIV après lecture ? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Le truc c'est que je ne sais pas ce qu'est censé afficher vos div ni sous quelle condition...Est-ce un formulaire à remplir qui doit être vérifié ou est ce autre chose?
-
Page 1 = Formulaire
Page 2 = après validation du formulaire détecte les champs
non remplis et retourne le N° d'erreur a page 1
De retour a Page 1, j'affiche en fonction du N° l'erreur détectée. -
Le plus simple serait de faire le tout en une seule page puis de cacher le formulaire une fois que tout est bon et envoyé.
-
En gardans mes deux pages, ma solution de départ
étais de n'avoir qu'une DIV et de l'activer si erreur détectée.
c'est la commande visibility:visible que je ne sais pas
faire dans if err ==1... -
-
Tester ce code :
<style type="text/css"> .erreur{ color:red; background-color:#FAB9AD; } </style> <?php //Formulaire visible $masquer_formulaire = 0; //Formulaire envoyé if(isset($_POST['ok'])){ //Contrôle du nom if(empty($_POST['nom'])){ $erreur_nom = '<div class="erreur">Champ nom vide!</div>'; } //Contrôle du prénom else if(empty($_POST['prenom'])){ $erreur_prenom = '<div class="erreur">Champ prénom vide!</div>'; } //Tout est ok else{ echo 'Formulaire envoyé'; //On masque le formulaire $masquer_formulaire = 1; } } //Si le formulaire est visible if($masquer_formulaire == 0){ ?> <form method="post" action="#"> <?php if(isset($erreur_nom)){ echo $erreur_nom; }?> Nom : <input type="text" name="nom" value=""><br/> <?php if(isset($erreur_prenom)){ echo $erreur_prenom; }?> Prénom : <input type="text" name="prenom" value=""><br/> <input type="submit" name="ok" value="valider"> </form> <?php } ?>
Tout en une seule page avec gestion des erreurs :). -
-
Un Grand Merci Trian44,
Je vais adopter cette formule qui tourne bien.
Post Résolu