empty qui marche a moitié

iditxa
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 11:01

Ca fait des heures que je suis dessus et je n'arrive pas a trouver la solution. C'est un formulaire avec une image.

Si l'utilisateur n'a pas seleccionné une image ($_FILES['fichier']) il faut mettre à jour la base, sinon il fait le traitement de l'image.

Ben, donc si la personne a selectionné une image tout marche (il passe au 'else') mais sinon rien ne se passe. Quelqu'un peut m'aider ?

if(empty($_FILES['fichier']))
{
echo "<tr><td> </td><td>La base de données a été mis à jour correctement. Merci.</td></tr>";
mysql_query("UPDATE infos SET titre='$titre', soustitre='$soustitre',
auteur='$auteur', date='$date', corps='$corps', communaute='$communaute',
hp='$hp' WHERE id='$id'");
exit();
}

///////////////////// TRACTAMENT DE LA IMATGE ////////////////////////////////////////
else
...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 déc. 2005, 11:10

Si tu vas faire un tour ici :
http://www.deformedweb.co.uk/php_variable_tests.php

Tu verras que empty sur une chaine vide ("") retourne FALSE

Il est donc probable que ton erreur vienne de là

Essaye de remplacer ton test par ça :
//Si le POST n'existe pas où s'il est vide
if(!isset($_FILES['fichier']) || ($_FILES['fichier'] == "")) 
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

iditxa
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 11:22

zeus, merci de répondre mais, cela marche toujours pas...

pour te dire, j'ai essayé avec isset et avec empty et cela marche seulement quand il y a quelque chose dans ($_FILES['fichier']), sinon rien ne se passe

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 déc. 2005, 11:25

et si tu fait juste
if ($_FILES['fichier'] == "")
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

iditxa
Invité n'ayant pas de compte PHPfrance

27 déc. 2005, 11:31

Merci et mes excuses... en fait j'ai ne pas vu, hier, que le problème venait après le 'else'. Merci quand même

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 déc. 2005, 11:37

OK, donc je passe ton post en délestage :?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer