Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/09/2011, 02h21   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
Par défaut Cookies - Fonction

Bonjour,
j'essaye en vain d'appeler une fonction qui doit gérer mes cookies pour mon auto connexion.

Architecture du site :

dossier fonction/cookies.php

racine du site : header.php (appelé en entete)

Lors de l'ouverture j'ai placé ce script:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
	session_start();
	//Chemin à modifier selon l'architecture du serveur
	include_once($_SERVER['DOCUMENT_ROOT']."gestion-cours/config/defines.inc.php");
 
	if (isset($_COOKIE['gestion-cours-id'])){
	$LoginEleve = $_COOKIE['gestion-cours-pseudo'];
	$Password = $_COOKIE['gestion-cours-motdepasse'];
 
	$chemin = CLASSES."cookies.php";
	include_once("$chemin");
	$tableau = cookies($LoginEleve,$Password);
	}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Je me retrouve avec : Fatal error: Call to undefined function cookies() in header.php on line 12

Ma fonction coockies.php

Code :
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
 
<?php
function cookies($LoginEleve,$Password)
{
try
	{
	include_once("./config/connexpdo.inc.php");
	$bdd = connexpdo('gestion_cours','myparam');
	$query = $bdd->query("SELECT IdEleve,NomEleve,PrenomEleve,EmailEleve,DateNaissanceEleve,Avatar,IdEtablissement,IdPermission,IdClasse FROM eleve WHERE PseudoEleve = '" .$LoginEleve. "' AND MdpEleve = '" .$Password. "'");
	$result = $query->fetch(PDO::FETCH_ASSOC);
 
			// inscription des nouvelle variable session
			$_SESSION['ideleve'] = $result['IdEleve'];
			$_SESSION['nomeleve'] = $result['NomEleve'];
			$_SESSION['prenomeleve'] = $result['PrenomEleve'];
			$_SESSION['emaileleve'] = $result['EmailEleve'];
			$_SESSION['datenaissanceeleve'] = $result['DateNaissanceEleve'];
			$_SESSION['avatar'] = $result['Avatar'];
			$_SESSION['permission'] = $result['IdPermission'];
			$_SESSION['pseudo'] = $LoginEleve;
			$_SESSION['classe'] = $result['IdClasse'];
			$_SESSION['idetablissement'] = $result['IdEtablissement'];
			$_SESSION['motdepasse'] = $Password;
			$count = 0;
	$tableau['ideleve'] = $_SESSION['ideleve'];
	$tableau['nomeleve'] = $_SESSION['nomeleve'];
	$tableau['prenomeleve'] = $_SESSION['prenomeleve'];
	$tableau['emaileleve'] = $_SESSION['emaileleve'];
	$tableau['datenaissanceeleve'] = $_SESSION['datenaissanceeleve'];
	$tableau['avatar'] = $_SESSION['avatar'];
	$tableau['permission'] = $_SESSION['permission'];
	$tableau['pseudo'] = $_SESSION['pseudo'];
	$tableau['classe'] = $_SESSION['classe'];
	$tableau['idetablissement'] = $_SESSION['idetablissement'];
	$tableau['motdepasse'] = $_SESSION['motdepasse'];
return $tableau;
			}				
	catch(Exception $e)
	{
		die('Erreur : '.$e->getMessage()); //En cas d'erreur précédemment, on affiche un message et on arrête tout
	}
}
?>

J'ai vraiment du mal à voir pourquoi il ne la prend pas.

Merci à vous :euh:
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 07h17   #2
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
Ce message indique que ta fonction n'existe pas dans le contexte de son appel.
Elle est censée être inclue où dans ton script ?
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 10h18   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
Oui je l'appel dans l'entête de mon header.
Et il me la trouve pas ...

Surement le fait que je mette une variable dans l'include.

J'ai testé avec un chemin relatif et sa marche.


Aurez tu une idée ?
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 11h51   #4
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

La constante CLASSES correspond t-elle bien au répertoire contenant le fichier cookies.php ?
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 12h45   #5
Candidat au titre de Membre du Club
 
Inscription : décembre 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 45
Points : 12
Points : 12
Oui j'ai réalisé quelques test :

J'ai fait un echo de :

Code :
1
2
 
<?php echo (CLASSES."cookies.php"); ?>
il me retourne
http://localhost/gestion-cours/classes/cookies.php

Mais lorsque j'essaye de le charger j'ai toujours l'erreur sous cette forme :

Code :
1
2
 
<?php include_once(CLASSES."cookies.php"); ?>
J'ai
Fatal error: Call to undefined function cookies()

Alors que le script s’exécute bien sous la forme :

Code :
1
2
 
<?php  include_once("./classes/cookies.php"); ?>

J'en déduis que la fonction est correct car avec la forme ci-dessus elle recharge bien les sessions pour l'auto connexion mais que l'appel avec une constante mais l'intègre pas.

Que faire
:euh: ?
bouuuh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h00.


 
 
 
 
Partenaires

Hébergement Web