8800 sujets

Développement web côté serveur, CMS

Bonjour,

Voilà tout est dans le titre, en fait j'aimerai, dans le cadre d'une gestion de profil, envoyer une requête SQL de type upload différente selon le cas où on modifie aussi son avatar (dans quel cas on récupère les différents input plus l'input de type file et on exécute une fonction qui redimensionne l'image pour enfin envoyer l'upload vers la base de donnée), si on ne modifie pas son avatar alors on envoie une requête sql différente qui upload l'entrée dans la bdd sans toucher à l'avatar.

Et donc j'aimerai faire deux conditions mais je n'arrive pas à détecter l'input de type file vide


            
elseif($_POST['module'] == 'membre' && $_POST['action'] == 'update') {
                if(!$_POST['avatar']){ // si on update sans changement d'avatar
                    //envoie de la requete pour l'enregistrement
                    $req = $req_membre_register_without_avatar;
                    $res = $cnx -> prepare($req);
                    $res -> bindParam(':login', $_POST['login']);
                    $res -> bindParam(':mdp', $_POST['mdp']);
                    $res -> bindParam(':nom', $_POST['nom']);
                    $res -> bindParam(':prenom', $_POST['prenom']);
                    $res -> bindParam(':email', $_POST['Email']);
                    $res -> bindParam(':web', $_POST['siteWeb']);
                    $res -> execute();
                    
                    // page de confirmation avec résumé
                    $req = $req_membre;
                    $res = $cnx -> prepare($req);
                    $res -> bindParam(':login', $_POST['login']);
                    $res -> execute();
                    $membre = $res -> fetch();
                    $includeFile = './prive/profil.php';
                }
                if($_FILES['avatar']) { // si il y a un changement d'avatar dans l'input concerné
                    $avatar = reSize('avatar','./upload/', 60, 60);
                    //envoie de la requete pour l'enregistrement
                    $req = $req_membre_update;

                    $res = $cnx -> prepare($req);
                    $res -> bindParam(':login', $_POST['login']);
                    $res -> bindParam(':mdp', $_POST['mdp']);
                    $res -> bindParam(':nom', $_POST['nom']);
                    $res -> bindParam(':prenom', $_POST['prenom']);
                    $res -> bindParam(':email', $_POST['Email']);
                    $res -> bindParam(':web', $_POST['siteWeb']);
                    $res -> bindParam(':avatar', $avatar);
                    $res -> bindParam(':id', $_POST['id']);
                    $res -> execute();

                    // page de confirmation avec résumé
                    $req = $req_membre;
                    $res = $cnx -> prepare($req);
                    $res -> bindParam(':login', $_POST['login']);
                    $res -> execute();
                    $membre = $res -> fetch();
                    $includeFile = './prive/profil.php';
                }
            }


J'espère avoir été clair, merci d'avance
Modifié par Gili (13 Jun 2011 - 14:21)
Salut,

Regarde du coté de la variable $_FILES["nom-de-input"]["error"], c'est avec ce paramètre qu'on peut détecter les différentes erreur lors de l'upload, notamment le fichier inexistant.