[RESOLU] PHP Empêcher Ajout enregistrement si formulaire vide

WRInaute discret
Salut à tous, :D

Voici mon souci.

J'ai une page php qui contient un formulaire (2 champs) servant à ajouter des albums dans une table "Album". Seul hic, lorsque que je clique sur le bouton d'envoi de mon formulaire et que celui-ci est vide, il me crée quand même 2 nouveau enregistrements.

Voici mon code :

Code:
if (isset($_POST['album'])AND $_POST['album']!==""){

            foreach($_POST['album'] as $index=>$valeur){
                //echo $valeur;
			
			$insertalbum ="INSERT INTO Album(album_name) values('$valeur')";
			mysql_query($insertalbum) or die(mysql_error());	
				
            }	
}

?>

<h3>Ajouter des albums</h3>


<FORM method="POST" action="Admin.php?page=galerie_001_02">
	
<p><INPUT type="text" name="album[]" size=30></input> <INPUT TYPE=RESET value="Effacer la zone"></input></p>
<p><INPUT type="text" name="album[]" size=30></input> <INPUT TYPE=RESET value="Effacer la zone"></input></p>
<p><input type="submit"value="Créer le(s) album(s)"></input></p>

</FORM>


Quelqu'un a une petite idée.

Merci à tous.

Rien à voir mais comment on fait pour mettre un sujet en statut RESOLU après un délai de 6 heures ? Car j'ai oublié de le faire pour mon post précédent. :?:

John :D
 
WRInaute occasionnel
Essaie ça, je pense que ça devrait marcherdésolé pour l'indentation.

Code:
if (isset($_POST['album']){

            foreach($_POST['album'] as $index=>$valeur){
                //echo $valeur;
         
        if((!empty($valeur))&&($valeur!='')) {
 $insertalbum ="INSERT INTO Album(album_name) values('$valeur')";
         mysql_query($insertalbum) or die(mysql_error());   
}
            
            }   
}
?>

<h3>Ajouter des albums</h3>
<FORM method="POST" action="Admin.php?page=galerie_001_02">
<p><INPUT type="text" name="album[]" size=30></input> <INPUT TYPE=RESET value="Effacer la zone"></input></p>
<p><INPUT type="text" name="album[]" size=30></input> <INPUT TYPE=RESET value="Effacer la zone"></input></p>
<p><input type="submit"value="Créer le(s) album(s)"></input></p>
</FORM>
 
WRInaute accro
Afin de ne pas avoir de warning au foreach si $_POST['album'] est vide ou pas un array, je rajouterai:

Code:
if (isset($_POST['album'] && is_array($_POST['album'])){
...
}

@mrPringle
Code:
if((!empty($valeur))&&($valeur!=''))

C'est 2 fois la même condition, avec empty() c'est le plus propre
 
WRInaute discret
Ok c'est bon,

J'ai mis le sujet en RESOLU.

Voici ce que j'ai fais :

Code:
if (isset($_POST['album'])){

            foreach($_POST['album'] as $index=>$valeur){
                //echo $valeur;
				
					if ($valeur!='') {
					
					$insertalbum ="INSERT INTO Album(album_name) values('$valeur')";
					mysql_query($insertalbum) or die(mysql_error());	
					
					}
			
			
				
            }	
}
 
WRInaute accro
Dans ton code final, si on met un simple espace ou un ALT+0160, ça s'ajoutera quand même dans la BDD.
Code:
if (isset($_POST['album']) && is_array($_POST['album'])){

            foreach($_POST['album'] as $index=>$valeur){
                $valeur = trim($valeur);
            
               if (!empty($valeur)) {
               $insertalbum ="INSERT INTO Album(album_name) values('$valeur')";
               mysql_query($insertalbum) or die(mysql_error());   
               }
            }   
}
 
Discussions similaires
Haut