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 :

Déclaration de fonction


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Points : 9
    Points
    9
    Par défaut Déclaration de fonction
    Bonjour

    j'ai un petit problème en php, je suis pas sur que c la bonne section pour mon problème mais c celle qui me parait la plus logique lol xD

    donc

    au lieu de trop de blabla voici mon pb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in C:\xampp\htdocs\Koladz\includes\fonctions.php on line 21
     
    Fatal error: Cannot redeclare check_user_connected() (previously declared in C:\xampp\htdocs\Koladz\includes\fonctions.php:5) in C:\xampp\htdocs\Koladz\includes\fonctions.php on line 9
    je n'ai pourtant pas déclarer ma fonction deux fois hum

    voici ma page login.php qui appelle (comme toutes les autres pages) fonctions.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
    <?php
    	session_start();	
    	session_destroy();
    	session_start();	
    	require('includes/config.php');
    	require("includes/fonctions.php");
    	$user=$_POST['login'];
    	$pass=md5($_POST['pass']);
    	connect($user, $pass);					
    	include("includes/header.php");
    	echo "<h1>Login</h1>";
    	if(check_user_connected()){
    	include("includes/user_default.php");}
    	else{
    	include("includes/login_failure.php");}
    	include("includes/footer.php"); ?>
    et ma page fonctions.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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    include("includes/config.php");
     
    function check_user_connected(){
    	if($_SESSION['connected']){
    	return true; }
    	else{
    	return false;}
    }
     
    function check_user_admin(){
    	if($_SESSION['level']==2){
    	return true; }
    	else{
    	return false;}
    }
     
    function connect($user, $pass){
    	$sql='SELECT * FROM `tbl_users` WHERE Login="'.$user.'";';
    	$result = mysql_query($sql);			
    	echo mysql_error($conn);	
    	while ($donnees = mysql_fetch_array($result)){
    	if ($donnees['Pass']==$pass){
    	$_SESSION['connected']=true;
    	$_SESSION['user_id']=$donnees['PK_Users'];
    	$_SESSION['pseudo']=$donnees['Login'];
    	$_SESSION['level']=$donnees['level'];
    	}}
    }
    [...]
    ?>
    mes déclarations me semble juste, je ne comprend pas pourquoi ca ne marche pas...

    merci de votre aide ++

    EDIT: oups dsl je viens de m'apercevoir que je me suis trompé, je pensais etre dans la section fonction, je l'ai confondue ac formulaire
    si qqun pouvait déplacer le topic dans la bone section, je lui en serait reconnaissant ^^ merci

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Points : 202
    Points
    202
    Par défaut
    Première erreur : tu balances $conn à mysql_error(), qui n'existe pas...
    Seconde : t'as probablement un de tes fichiers inclus, voire plusieurs, qui essaient d'inclure fonctions.php, et du coup la fonction est déclarée deux fois.

    Sinon, en vrac :
    - session_start(); session_destroy(); session_start(); wtf ?
    - if ($a) return true; else return false; <=> return $a
    - t'as une grosse faille de sécurité, renseigne-toi sur les injections SQL.

  3. #3
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    Et utilise include_once(); au cas ou ca evite de charger 2 fois une page.

  4. #4
    Membre actif Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Points : 204
    Points
    204
    Par défaut
    Si j'ai bien regardé tu appelles une page contenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include ('includes/config.php');
    avec une page contenant elle aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require ('includes/config.php');
    Que se soit avec include ou require, au final tu inclus deux fois le fichier...

Discussions similaires

  1. Déclaration de fonction dans le "main".
    Par Pragmateek dans le forum C++
    Réponses: 14
    Dernier message: 23/06/2006, 19h32
  2. déclaration de fonctions externes
    Par poukill dans le forum C++
    Réponses: 40
    Dernier message: 17/05/2006, 16h15
  3. Réponses: 4
    Dernier message: 11/05/2006, 15h34
  4. Réponses: 6
    Dernier message: 20/11/2005, 02h53
  5. [JS] Problème déclaration de fonction
    Par glloq8 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/09/2005, 10h22

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