Afficher DIV sous condition

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

<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%">&nbsp;</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">&nbsp;</td>
		</tr>
	</table>
</div>
</body>
</html>



Merci de m'aider.
A voir également:

12 réponses

tryan44 Messages postés 1381 Statut Membre 220
 
Salut,

<?php
$erreur = 1;
if($erreur == 1){?>
<div>Hello</div>
<?php } ?> 

0
malabarbe Messages postés 136 Statut Membre 1
 
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
0
tryan44 Messages postés 1381 Statut Membre 220
 
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;
}
?>
0
malabarbe Messages postés 136 Statut Membre 1
 
OK, Merci, je vais tester.

Mais comment faire disparaitre La DIV après lecture ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tryan44 Messages postés 1381 Statut Membre 220
 
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?
0
malabarbe Messages postés 136 Statut Membre 1
 
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.
0
tryan44 Messages postés 1381 Statut Membre 220
 
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é.
0
malabarbe Messages postés 136 Statut Membre 1
 
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...
0
malabarbe Messages postés 136 Statut Membre 1
 
par contre, je sais fermer la DIV avec un Onclick
0
tryan44 Messages postés 1381 Statut Membre 220
 
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 :).
0
malabarbe Messages postés 136 Statut Membre 1
 
Ok, je vais tester et vous tiens au courant.

@ +
0
malabarbe Messages postés 136 Statut Membre 1
 
Un Grand Merci Trian44,

Je vais adopter cette formule qui tourne bien.

Post Résolu
0