Erreur incompréhensible PHP
alexcamb87
Messages postés
79
Date d'inscription
Statut
Membre
Dernière intervention
-
Jodu Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
Jodu Messages postés 91 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
cela fait plusieurs pages php ou j'utilise cette méthode, mais la ça ne marche plus je ne comprends pas...
Voilà le code, au début il est censé récupérer des $_POST et en fonction de leur résultat (vide ou non) il affiche différents formulaires.
La il me semble d'avoir un bon code :( Si il ni a rien du tout, il affiche le formulaire de création d'album. Ce formulaire envoie le nom de l'album a la même page, et donc la variable $nomAlbum n'est plus nulle et on se rends au deuxième formulaire...
Sauf que la les deux formulaires s'affiche en même temps et ça ne change rien si je donne une valeur a nomAlbum. Je ne comprends pas
$nomAlbum=$_POST['nomAlbum'];
$miniature=$_POST['miniature'];
$photo=$_POST['photo'];
if($nomAlbum=='' || $miniature=='' || $photo=='')
{
echo"<h2>Création d'un album</h2><br>";
echo'<form method="post" action="gestionimage.php?Opt=1">';
echo"<br><br><br>Nom de l'album  ";
echo'<input type="text" name="nomAlbum"><br><br>';
echo'<input type="submit" value="valider"></form>';
}
if($nomAlbum!='' || $miniature=='' || $photo=='')
{
echo"<h2>Création d'un album</h2><br>";
echo"Insérez une photo afin de finaliser la création de l'album. ";
echo'<form method="post" action="gestionimage.php?Opt=1" enctype="multipart/form-data">';
echo'<input type="hidden" name="nomAlbum" value="'.$nomAlbum.'"/>';
echo'<br>Miniature (150px dans le sens de la longueur): <input type="file" name="miniature"/><br>';
echo'<br>Photo (640px dans le sens de la longueur): <input type="file" name="photo"/><br><br>';
echo'<input type="submit" value="valider"></form>';
}
cela fait plusieurs pages php ou j'utilise cette méthode, mais la ça ne marche plus je ne comprends pas...
Voilà le code, au début il est censé récupérer des $_POST et en fonction de leur résultat (vide ou non) il affiche différents formulaires.
La il me semble d'avoir un bon code :( Si il ni a rien du tout, il affiche le formulaire de création d'album. Ce formulaire envoie le nom de l'album a la même page, et donc la variable $nomAlbum n'est plus nulle et on se rends au deuxième formulaire...
Sauf que la les deux formulaires s'affiche en même temps et ça ne change rien si je donne une valeur a nomAlbum. Je ne comprends pas
$nomAlbum=$_POST['nomAlbum'];
$miniature=$_POST['miniature'];
$photo=$_POST['photo'];
if($nomAlbum=='' || $miniature=='' || $photo=='')
{
echo"<h2>Création d'un album</h2><br>";
echo'<form method="post" action="gestionimage.php?Opt=1">';
echo"<br><br><br>Nom de l'album  ";
echo'<input type="text" name="nomAlbum"><br><br>';
echo'<input type="submit" value="valider"></form>';
}
if($nomAlbum!='' || $miniature=='' || $photo=='')
{
echo"<h2>Création d'un album</h2><br>";
echo"Insérez une photo afin de finaliser la création de l'album. ";
echo'<form method="post" action="gestionimage.php?Opt=1" enctype="multipart/form-data">';
echo'<input type="hidden" name="nomAlbum" value="'.$nomAlbum.'"/>';
echo'<br>Miniature (150px dans le sens de la longueur): <input type="file" name="miniature"/><br>';
echo'<br>Photo (640px dans le sens de la longueur): <input type="file" name="photo"/><br><br>';
echo'<input type="submit" value="valider"></form>';
}
A voir également:
- Erreur incompréhensible PHP
- Erreur 0x80070643 - Accueil - Windows
- Expert php pinterest - Télécharger - Langages
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
2 réponses
Bonjour,
tu as un problème dans tes conditions, si $miniataure=="" ou si $photo=="", le test réussira toujours.
je sais pas exactement ce que tu veux faire mais essaye avec :
Voila en espérant que ça t'aide :)
tu as un problème dans tes conditions, si $miniataure=="" ou si $photo=="", le test réussira toujours.
je sais pas exactement ce que tu veux faire mais essaye avec :
if($nomAlbum=='' && ($miniature=='' || $photo=='') ) { ... } if($nomAlbum!='' && ($miniature=='' || $photo=='') ) { ... }
Voila en espérant que ça t'aide :)
Salut,
pour tester si un champ est vide tu peux aussi faire :
pour tester si un champ n'est pas vide, c'est pareil sauf que tu mets !empty
C'est plus propre ;)
Et un autre conseil, evite les variables avec des majuscules, tu vas forcément te tromper un jour
Préfère des trucs comme $nom_album au lieu de $nomAlbum
Edit : c'est normal que tes deux formulaire s'affichent.
Au debut tu testes si nomAlbum est vide, ou si miniature est vide, ou si photo est vide.
Donc, si l'un des trois est vide, tu affiches.
Après tu fermes ta condition, et tu en ouvres une autre.
La tu dis : si nomAlbum n'est pas vide, OU si miniature est vide, ou si Photo est vide.
Donc réfléchis, si ton nom album est rempli et que miniature ou photo est vide, il passera dans les deux if, car tes conditions seront remplies. La solution de Defouille est donc la bonne ;)
pour tester si un champ est vide tu peux aussi faire :
if (empty($_POST['ton_Album'])) { ..... }
pour tester si un champ n'est pas vide, c'est pareil sauf que tu mets !empty
C'est plus propre ;)
Et un autre conseil, evite les variables avec des majuscules, tu vas forcément te tromper un jour
Préfère des trucs comme $nom_album au lieu de $nomAlbum
Edit : c'est normal que tes deux formulaire s'affichent.
Au debut tu testes si nomAlbum est vide, ou si miniature est vide, ou si photo est vide.
Donc, si l'un des trois est vide, tu affiches.
Après tu fermes ta condition, et tu en ouvres une autre.
La tu dis : si nomAlbum n'est pas vide, OU si miniature est vide, ou si Photo est vide.
Donc réfléchis, si ton nom album est rempli et que miniature ou photo est vide, il passera dans les deux if, car tes conditions seront remplies. La solution de Defouille est donc la bonne ;)