8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je n'arrive pas à faire fonctionné mes "alert" comme il faut...
Les 2 premiers champ de mon formulaire sont obligatoire et doivent être remplie correctement.
Le premier champ correspond à un album, le 2e on doit y entrer le nom d'un fichier.

Dans mon code, ce que je cherche a faire c'est que si j'oublie de sélectionner un album, ça m'affiche "Veuillez sélectionner un album"... jusque là tout fonctionne, si j'entre un nom de fichier qui existe déjà, ça devrait m'afficher que le nom de fichier existe déjà.

Normalement si mes 2 premiers champs sont correct, toutes les infos sont enregistré.

Sauf que le script s'arrête à la première étape. Même si le sélectionne un album existant et un nom de fichier correct, rien n'est enregistré.

Je sais que le 2e partie de mon code fonctionne (celle où j'entre le reste des infos et où j'enregistre). J'arrive simplement pas à faire fonctionner le première partie.

Voici mon code:
<form action="galerie_ajout2.php" method="post" name="form">
	<fieldset>
                <legend class="gradient-gray">Ajout d'une image</legend>
                    <?php
                    if (!empty($_POST['enregistrer']))
                    {
			//echo '<pre>'.print_r($_POST,true).'</pre>';
                        $album = trim($_POST['album']);
                        $nom = trim(addslashes($_POST['nom']));
                        $type = trim($_POST['type']);
                        $note = nl2br(addslashes(trim($_POST['note'])));

			$notePro = addslashes(trim($_POST['notePro']));
			$noteProFr = 'Captée par notre partenaire:<br>'.$notePro.$note;
			$noteProEn = 'Captured by our partner:<br>'.$notePro.$note;
						
			$album_verif = 'Choisir un album';
			$nom_verif = mysql_result(mysql_query('SELECT COUNT(*) FROM galerie WHERE nom = "'.$nom.'"'), 0);
			//Vérification si on a sélectionné un album
			if ($album = $album_verif){
				echo '<p class="alert">Veuillez choisi un album</p>';
				//Vérification si le nom de fichier écris existe déjà
				if($nom_verif = 0){
					echo '<p class="alert"><strong>'.$nom.'</strong> existe déjà!</p>';
				}
			}
						
			//Sinon on enregistre selon la sélection
			else{
				//Si sélection d'un pro staff
				$pro = 'Pro Staff';
				if($_POST['notePro'] != $pro){
					$insert = 'INSERT INTO galerie(album,nom,noteFr,noteEn,type) VALUES("'.$album.'","'.$nom.'","'.$noteProFr.'","'.$noteProEn.'","'.$type.'")';
					$result = mysql_query($insert) or die("83"/*mysql_error()*/);
					echo '<ul class="alert">
							<li>Type: '.$type.'</li>
							<li>Album: '.$album.'</li>
							<li>Nom: '.$nom.'</li>
							<li>Note: '.$notePro.'<br>'.$note.'</li>
						</ul>';
				}
				//Si inscription d'un client ou non
				else{
					$insert = 'INSERT INTO galerie(album,nom,noteFr,noteEn,type) VALUES("'.$album.'","'.$nom.'","'.$note.'","'.$note.'","'.$type.'")';
					$result = mysql_query($insert) or die("94"/*mysql_error()*/);
					echo '<ul class="alert">
							<li>Type: '.$type.'</li>
							<li>Album: '.$album.'</li>
							<li>Nom: '.$nom.'</li>
							<li>Note: '.$note.'</li>
						</ul>';
				}
			}
		}
		?>
                <p><label for="album">Album :&nbsp;</label>
                    <select name="album" id="album">
                  		<option selected="selected">Choisir un album</option>
                        <?php
                        $select = mysql_query('SELECT * FROM cameras') or die("112"/*mysql_error()*/);
                                
                        while ($data = mysql_fetch_array($select))
                        {
                            ?>
                                
                        <option value="<?php echo $data['camera'] ?>"><?php echo $data['camera'] ?></option>
                                
                        <?php
                        }
                        ?>
                    </select></p>
                <p><label for="nom">Nom :&nbsp;</label>
                	<input name="nom" id="nom" type="text" size="30" /></p>
                <p><label for="note">Note :&nbsp;</label>
                    <select name="notePro" id="notePro">
                  		<option selected="selected">Pro Staff</option>
                        <?php
                        $select = mysql_query('SELECT * FROM prostaff ORDER BY nom') or die("127"/*mysql_error()*/);
                                
                        while ($data = mysql_fetch_array($select))
                        {
                            ?>
                                
                        <option value="<?php echo $data['nom'] ?>"><?php echo $data['nom'] ?></option>
                        <?php
                        }
                        ?>
                    </select><br>
                	<textarea name="note" id="note" cols="27" rows="2"></textarea></p>
                <p><label for="type">Type :&nbsp;</label>
                    <select name="type" id="type">
                        <option value="photo">Photo</option>
                        <option value="video">Vidéo</option>
                    </select></p>
                <p><label></label>
                <input name="enregistrer" type="submit" value="Enregistrer" /></p>
	</fieldset>
</form>

Modifié par juliesunset (21 Nov 2011 - 20:26)
Salut

warning! warning!!...sirene d'alarme (celle du générique des têtes brulés si tu connais ( je suis un croulant je sais Smiley ohwell )

que vois-je?



			if ($album = $album_verif){

				echo '<p class="alert">Veuillez choisi un album</p>';

				//Vérification si le nom de fichier écris existe déjà

				if($nom_verif = 0){

					echo '<p class="alert"><strong>'.$nom.'</strong> existe déjà!</p>';

				}

			}



l'égalité en php c'est == ou encore=== pour l’égalité avec typage strict mais pas = tout seul.

forcément ton premier if et le suivant seront toujours vrai.

Pascal
Modifié par CPascal (21 Nov 2011 - 20:13)
Arf! Effectivement je m'étais emmêlé les pinceaux avec les = !
Alors j'ai mis un == au premier if, extériorisé le 2e if du premier avec un != et là ça fonctionne!

Merci!