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 :

Erreur de déclaration de fonction


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut Erreur de déclaration de fonction
    Bonjour à tous,

    J'ai l'erreur suivante:
    Fatal error: Cannot redeclare getUserFromLogin() (previously declared in C:\wamp64\www\monsite\administrator\model\model.php:4) in C:\wamp64\www\monsite\administrator\model\model.php on line 24
    Je ne comprends pas pourquoi j'ai cette erreur alors que:
    • L'erreur apparaît au début et à la fin de la fonction,
    • Une recherche sur l'ensemble des fichiers ne fait apparaître la fonction qu'une fois,
    • La fonction n'est appelée qu'en un seul endroit.
    J'ai essayé décrire la fonction sans les blocs try/catch mais l'erreur persiste.
    Oups! j'allais oublier de mettre le code (= début de fichier)
    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
    <?php
     
    // Récupération de l'utilisateur d'après son login
    function getUserFromLogin($login) {
    	global $errors;
    	$db = connect();
     
    	try {
    		$query = "
    			SELECT id, login, firstname, lastname, pw, checked, banned, webmaster
    			FROM users
    			WHERE login=:login
    			LIMIT 1
    		;";
    		// anciennement WHERE login=:login AND checked=1
    		$result = $db->prepare($query);
    		$result->bindParam(':login', $login);
    		$result->execute();
    		return $result->fetch();
    	}
    	catch(Exception $e) {
    		$errors[] = IS_LOCAL ? sprintf( ERR_DB_LOCAL, $e->getLine(), $e->getMessage() ): ERR_DB_ONLINE;
    	}
    }

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    combien de fois le fichier contenant cette fonction est-il inclus ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut
    OK, merci, j'ai remplacé tous mes require par des require_once pour être tranquille.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/04/2009, 18h27
  2. Réponses: 1
    Dernier message: 24/04/2009, 18h27
  3. Réponses: 6
    Dernier message: 20/11/2005, 02h53
  4. erreur C2664 : pointeur sur fonction
    Par hiko-seijuro dans le forum C++
    Réponses: 2
    Dernier message: 26/07/2005, 14h50
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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