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 :

"Cannot redeclare" une fonction


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 68
    Par défaut "Cannot redeclare" une fonction
    Bonjour,


    J'ai créé un fichier fonction.php qui contiens une fonction pour se connecter a ma base de données.

    Dans une autre page php, je fais appel à cette fonction de la facon suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    include_once("fonctions.php");
    	connexion();
    Ce code marche et un formulaire suit et rappelle la même page une fois validée et donc rééxecute le code ci dessus mais cette fois ci j'ai le droit à un message:



    Fatal error: Cannot redeclare connexion() (previously declared in /homepages/9/d208860113/htdocs/fonctions.php:10) in /homepages/9/d208860113/htdocs/fonctions.php on line 6
    pourtant mon fichier fonctions.php ne contient aucun autre include...

    je ne comprends pas le problème, il n'est pas possible d'appeler deux fois une meme fonction?


    Merci

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Salut
    a quoi corresponds les lignes d'erreur car a priori tu as deux créations de fonctions dans le même fichier. Sans le source ca risque d'etre plutot difficile de t'aider.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 68
    Par défaut
    Voila le code du fichier fonction.php

    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
    function connexion() //ligne6
    {
     
    // Paramètres persos
    	$host = "xxxxxx"; // voir hébergeur
    	$user = "xxxxxx"; // vide ou "root" en local
    	$pass = "xxxxxx"; // vide en local
    	$bdd = "xxxxxx"; // nom de la BD
    // connexion
    	@mysql_connect($host,$user,$pass)
       	or die("Impossible de se connecter");
    	@mysql_select_db("$bdd")
       	or die("Impossible de se connecter");
    	return($bdd);
    }
    la ligne 6 correspond à celle de la déclaration de la fonction...

    Voila, avez vous besoin de plus d'info?

    Connexion() n'est vraiment appelé à aucun autre endroiit

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Aube (Champagne Ardenne)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 156
    Par défaut
    j'ai eu le même genre de boulette une fois,
    as tu pensé à vérifier que tu te déconnectais avant
    de te reconnecter?

  5. #5
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Tu as surement déjà inclu ce fichier quelquepart dans ta page. Ou alors la page dans laquelle tu es est inclue dans une page qui elle meme inclue ce fichier. Donc tu peux directement appeler ta fonction connexion();

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 68
    Par défaut
    Bon, il faut croire que j'avais fait une faute quelque part, j'ai mis des echo un peu partout pour faire des tests puis je les ai enlever et maintenant ça marche...

    Merci de votre aide.

  7. #7
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    La syntaxe est correcte sur ton include_once.
    Par contre ce qui est bizarre, si tu n'as aucun autre include, cela devrait passer.
    La page est elle inclus dans une autres ?
    Quoi que normalement le include_once ne doit pas inclure une page, si elle l'a deja ete.

    Edit : Bon tout est bien qui finit bien, mais ca n'explique pas trop le problème.

  8. #8
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Sinon la page qui inclus cette fonction. Le déroulement c'est bien ca :

    - inclusion fonction.php
    - appel de 'connexion'

    apres validation d'un formulaire ,tu reviens sur cette page et la ca plante ?

    Dans le traitement de ton formulaire tu ne referais pas un include de trop de ta page fonction ?

  9. #9
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 68
    Par défaut
    Oui voila c'est ça le déroulement, il n'y a vraiment aucun autre include,

    J'ai tester un affichage juste audessus de mon include_once("fonctions.php");
    etil s'affiche bien, ce qui signifierait que ça plante bien à cet include là.

    la synthaxe du includ_once est elle correcte? j'ai essayé avec un require_once mais idem...

    Je ne sais plus quoi faire, c'est surement une reerur de ma part car ça marchait hier, mais la je suis perdu j'ai tout essayé.

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

Discussions similaires

  1. [PHP 5.3] [POO] : faire une fonction quote
    Par gwendoline-bricout dans le forum Langage
    Réponses: 7
    Dernier message: 20/02/2014, 11h41

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