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 :

Problème dune redéclaration inexistante d'une fonction


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Points : 50
    Points
    50
    Par défaut Problème dune redéclaration inexistante d'une fonction
    Bonjour tout le monde !

    Voila mon souci. Sur ma page j'ai le message suivant qui s'affiche :

    Fatal error: Cannot redeclare connexion() (previously declared in c:\site_foot\connexion.php:4) in c:\site_foot\connexion.php on line 2

    et voici mon fichier connexion.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    function connexion()
    {
    	include("login.php");
    	mysql_connect($server, $user, $password) or die("connexion au serveur $server impossible");
    	mysql_select_db($db) or die("Base inexistante");
    }
    ?>
    Et cette fonction n'est en aucun cas redéclaré quelque part sur le site !

    Je capte rien

  2. #2
    Membre confirmé

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Points : 644
    Points
    644
    Par défaut
    Est-ce que ton index.php (inclus ligne 4) n'incluerait pas connexion.php d'une manière ou d'une autre. A mon avis ça vient de là.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Points : 50
    Points
    50
    Par défaut
    Si indirectement.
    Il inclus un fichier session.php qui inclu lui même connexion.php et utilise la fonction.
    Je viens de virer dans index.php le include du fichier session.php et ça marche.

    Voila session.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
    16
    17
    18
    19
    20
    <?php
    include('connexion.php');
    connexion();
     
    if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) {
     
      extract($_POST); 
      $sql = "SELECT login, password FROM user WHERE login = '".addslashes($login)."'";
      $req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
     
      if (mysql_num_rows($req) > 0) {
         $data = mysql_fetch_assoc($req);
     
        if ($password == $data['password']) {
          $loginOK = true;
        }
    		else{$loginOK=false;}
      }
    }
    ?>
    Maintenant Je n'arrive toujours pas a comprendre l'erreur

  4. #4
    Membre confirmé

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Points : 644
    Points
    644
    Par défaut
    Ben le parseur quand il arrive dans connexion.php, il voit que tu veux définir la fonction, dedans il inclut login.php qui réinclut (via session.php) connexion.php et qui cherche à définir connexion. D'où la redéfinition.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Points : 19
    Points
    19
    Par défaut
    As-tu d'autre include dans ton index.php ? un autre include qui utiliserai aussi la fonction connexion() et dans lequel tu aurai donc inclu également connexion.php ...
    Je pense que t'as dû vérifier, mais dans ton login.php, n'y-a t'il pas une autre fonction connexion() ?

    Sinon essai d'include connexion.php dès le début de ton index, de le retirer des autre fenetres....

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 87
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par kinji1 Voir le message
    Ben le parseur quand il arrive dans connexion.php, il voit que tu veux définir la fonction, dedans il inclut login.php qui réinclut (via session.php) connexion.php et qui cherche à définir connexion. D'où la redéfinition.
    Ok je vois le truc. C'est plus clair maintenant


    Citation Envoyé par gnappy Voir le message
    As-tu d'autre include dans ton index.php ? un autre include qui utiliserai aussi la fonction connexion() et dans lequel tu aurai donc inclu également connexion.php ...
    Je pense que t'as dû vérifier, mais dans ton login.php, n'y-a t'il pas une autre fonction connexion() ?

    Sinon essai d'include connexion.php dès le début de ton index, de le retirer des autre fenetres....
    J'ai fait ce que tu as dis de mettre l'include connexion.php dés le début de l'index et de les virer ailleur, et ça marche !

    Merci beaucoup les gars !

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Les fonctions include_once / require_once permettent en partie d'éviter facilement ce genre d'erreurs : quoiqu'il arrive tout fichier n'est inclus qu'une seule fois par rapport au script courant.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/06/2007, 12h38
  2. problème avec l'utilisation d'une fonction
    Par mcspawn dans le forum Langage
    Réponses: 6
    Dernier message: 06/06/2007, 16h39
  3. Problème de passage de variable à une fonction
    Par PunkMetal dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2007, 00h56
  4. Problème pour la création d'une fonction
    Par jipé95 dans le forum C
    Réponses: 5
    Dernier message: 10/12/2006, 15h28
  5. problème avec l'appel d'une fonction
    Par mademoizel dans le forum ASP
    Réponses: 5
    Dernier message: 26/06/2006, 16h04

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