IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Condition qui ne s'exécute pas


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Par défaut Condition qui ne s'exécute pas
    Bonjour a vous tous

    Pourriez-vous m'aider S.V.P, je travaille depuis un bout a solutionner une condition qui vérifie l'extension dans un formulaire et qui ne se remplie pas si j'utilise if et un parse error, si j'utilise elseif

    celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!in_array($extension, $extensions))
    alors voila le bout de code et merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     $erreur = false;
    		$erreur_img = false;
     
            if (isset($_FILES['photo']) && !empty($_FILES['photo'])) {
     
                if ($_FILES['photo']['error'] > 0) {
    			switch ($_FILES['photo']['error']) {
                        case 1 : $msgErreur[] = 'Le fichier téléchargé excède la taille de 2 mo.';
                        break;
                        case 2 : $msgErreur[] = 'Le fichier téléchargé excède la taille MAXFILE SIZE de 200 ko';
                        break;
                        case 3 : $msgErreur[] = 'Le fichier a été que partiellement téléchargé.';
                        break;
                        case 4 : $msgErreur[] = 'Aucun fichier a été téléchargé';
                        break;
                        case 5 : $msgErreur[] = 'erreur';
    					break;
    					case 6 : $msgErreur[] = 'Un dossier temporaire est manquant';
    					break;
    					case 7 : $msgErreur[] = 'Échec de l\'ecriture du fichier sur le disque';
    					break;
    					case 8 : $msgErreur[] = 'Une extension PHP a arrété l\'envoi de fichier';
    					break;
    						$erreur_img = true;
    				}
    				if(!in_array($extension, $extensions)) {  //Si l'extension n'est pas dans le tableau
     
     
    					$msgErreur[] = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, ou bmp...';
    					$erreur_img = true;
    						//echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, ou bmp...';
     
    	}
    					//$erreur_img = true;
     
    		}
    			else {
     
                $msgErreur[] = 'Veuillez rechercher une photo';
            }
     
    		if ($erreur_img == false) {
     
    			$fichier = basename($_FILES['photo']['name']);
    			$taille_maxi = 200000;
    			$taille = filesize($_FILES['photo']['tmp_name']);
    			$extensions = array('image/png', 'image/gif', 'image/jpg', 'image/jpeg', 'image/bmp');
    			//$extension = strrchr($_FILES['photo']['name'], '.');
    			$extension = $_FILES['photo']['type'];
    	        $fichier = strtr($fichier, '
                        ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
                        'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    	        $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    	        $dossier = '../images/';
    	        if (move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier) == false) {
                        $erreur_img = true;
    	        }
     
                }
     
            else {
                // Aucune image de recherchée
                $erreur_img = true;
    		}
    	}

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    As tu fais le minimum de debugage consistant a controler la valeur des deux variables ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Par défaut
    j'ai fait un var_dump
    et ya rien


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(!in_array($extension, $extensions)) {  //Si l'extension n'est pas dans le tableau
     
    				var_dump($extensions);
    En lisant dans la doc, je crois comprendre que vu que on est dans une intruction switch, le if provoque une perte de comparaison mais je sais pas comment remplacer le= if ici, peut -être le = for mais ma syntaxe n'est pas bonne

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ton indentation est nulle mais pour moi ton if{} n'est pas dans le switch.

    le var_dump() doit par contre être fait avant ton if() puisque ton problème est justement au niveau du if()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Je plussoie pour l'indentation...

    Bon, j'ai essayé d'améliorer la lisibilité...

    Sous quelle condition voulais-tu qu'apparaisse la ligne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $msgErreur[] = 'Veuillez rechercher une photo';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    $erreur = false;
    $erreur_img = false;
     
    if (isset($_FILES['photo']) && !empty($_FILES['photo'])) {
    	if ($_FILES['photo']['error'] > 0) {
    		switch ($_FILES['photo']['error']) {
    			case 1 : $msgErreur[] = 'Le fichier téléchargé excède la taille de 2 mo.';
    			break;
    			case 2 : $msgErreur[] = 'Le fichier téléchargé excède la taille MAXFILE SIZE de 200 ko';
    			break;
    			case 3 : $msgErreur[] = 'Le fichier a été que partiellement téléchargé.';
    			break;
    			case 4 : $msgErreur[] = 'Aucun fichier a été téléchargé';
    			break;
    			case 5 : $msgErreur[] = 'erreur';
    			break;
    			case 6 : $msgErreur[] = 'Un dossier temporaire est manquant';
    			break;
    			case 7 : $msgErreur[] = 'Échec de l\'ecriture du fichier sur le disque';
    			break;
    			case 8 : $msgErreur[] = 'Une extension PHP a arrété l\'envoi de fichier';
    			break;
    		}
    		$erreur_img = true;
    	} else {
    		if(!in_array($extension, $extensions)) {  //Si l'extension n'est pas dans le tableau
    			$msgErreur[] = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, ou bmp...';
    			$erreur_img = true;
    		}
    	}
     
    	if ($erreur_img == false) {
    		$fichier = basename($_FILES['photo']['name']);
    		$taille_maxi = 200000;
    		$taille = filesize($_FILES['photo']['tmp_name']);
    		$extensions = array('image/png', 'image/gif', 'image/jpg', 'image/jpeg', 'image/bmp');
    		//$extension = strrchr($_FILES['photo']['name'], '.');
    		$extension = $_FILES['photo']['type'];
    		$fichier = strtr($fichier, '
    				ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    				'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    		$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
    		$dossier = '../images/';
    		if (move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier) == false) {
    			$erreur_img = true;
    		}
    	}else {
    		// Aucune image de recherchée
    		$erreur_img = true;
    	}
    }

  6. #6
    Membre éclairé Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Par défaut
    ok, var_dump ($extensions); donne ceci

    Notice: Undefined variable: extensions in C:\wamp\www\weziwezo\voiturier\update_voiturier2.php on line 17
    NULL

    echo $erreur_img; ne renvoie rien

    et echo $action; renvoie: UPDATE_Voiturier

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ton $extensions est défini après dans le code donc forcemment ca ne colle pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ms sql server 2000 : ".exe" qui ne s'exécute pas
    Par nyko_kliko dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/08/2006, 17h15
  2. Fichier exécutable qui ne s'exécute pas ?!
    Par bnadem35 dans le forum Linux
    Réponses: 4
    Dernier message: 12/07/2006, 12h35
  3. Réponses: 8
    Dernier message: 08/05/2006, 21h40
  4. probleme de requete mysql qui ne s'exécute pas
    Par anto48_4 dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/03/2006, 11h51
  5. [MySQL] requete sql qui ne s'exécute pas
    Par anto48_4 dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 16/03/2006, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo