ninho44
Messages postés86Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention19 juin 2009
-
13 juin 2008 à 09:03
ninho44
Messages postés86Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention19 juin 2009
-
13 juin 2008 à 11:48
Bonjour tout le monde,
Voila mon problème: J'ai un fichier "traitements.php" qui regroupe toutes mes fonctions. Dans un autre page je met donc require('traitements.php'); et j'appelle la fonction que je veux. Ici , c'est la fonction test_session. Mais quand je m'en sers php me renvoie ce msg d'erreur: Fatal error: Cannot redeclare test_session() previously declared on line 4
D'habitude ça marche très bien je comprend pas le problème la...la ligne 4 est la ligne où je commence ma fonction dans le fichier "traitements.php".
Si quelqu'un sait, qu'il me le dise. Ca doit être tout bête maisje vois vraiment pas...
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 20102 13 juin 2008 à 11:31
En faisant ça il te renvoies toujours la même erreur ??
Sinon, regarde la fonction md5() ou sha1() pour crypter tes mots de passes :p
if( !function_exists('test_session') )
{
function test_session($login, $password)
{
$result = mysql_query('SELECT login, password from utilisateur where login="' . $login . '" AND password="' . $password . '"') or die(mysql_error());
$resultat = mysql_fetch_assoc($result);
$resultlogin = $resultat['login'];
$resultpassword = $resultat['password'];
if ($resultlogin $login AND $resultpassword $password)
{
$_SESSION['utilisateur'] = $login;
$_SESSION['motdepasse'] = $password;
return 'ok';
}
else
{
return '<script language="text/javascript"> alert("Login ou mot de passe incorrect !!!"); </script>';
}
}
}
Fatal error: Cannot redeclare test_session() previously declared on line 4
A mon avis, ton erreur vient de ton fichier ou tu inclu traitement.php, puisqu'il dit impossible de re-déclarer la fonction test_session(), précedamment déclarée à la ligne 4.
Regarde plus loin dans ton code. Il n'y a pas un autre include 'traitement.php' ? (require())
<hr />Si ma reponse te convient, merci de l'accepter !
ninho44
Messages postés86Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention19 juin 2009 13 juin 2008 à 11:48
c'est bon jai trouvé...en fait je me sers de cette page pour reconduire vers une autre et ces deux pages avait le require('traitements.php') donc forcément la fonction était redéclarée comme le dit so bien le mesage d'erreur...c'est vraiment minutieux PHP..
Merci beaucoup Jojod'être venu amon secours encore une fois lol, et gagah d'avoir essayé de m'aider !!! Bonne journée !!
ninho44
Messages postés86Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention19 juin 2009 13 juin 2008 à 09:44
<? session_start();
require('traitements.php');
if ($_POST['login']!= ='' and $_POST['password']!=='')
{
$login=$_POST['login'];
$password=$_POST['password'];
$EtatConnexion= etat_connexion ();
if ($EtatConnexion == "ok")
{
$resultat= test_session ($login,$password);
if ($resultat =='ok')
{on continue....
En gras c'est les fonctions que j'appelle...la 1ere ca passe mais pas la 2eme...
et ca c'est ma fonction test_session:
Function test_session($login,$password)
{
$result=mysql_query("select login,password from utilisateur where login='".$login."' and password='".$password."'");
$resultat=mysql_fetch_array($result);
$resultlogin=$resultat[0];
$resultpassword=$resultat[1];
if ($resultlogin==$login and $resultpassword==$password)
{
$_SESSION['utilisateur']=$login;
$_SESSION['motdepasse']=$password;
return ('ok');
}
else
{
return ('<script language="Javascript"> alert("Login ou mot de passe incorrect !!!");
</script>');
};
};
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010 13 juin 2008 à 09:59
J'ai regardé mais non, ce n'est pas une fonction native de PHP. Est-ce que dans le fichier traitement.php y a t-il une inclusion de fichier avant la ligne 4 où l'erreur se produit.
ninho44
Messages postés86Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention19 juin 2009 13 juin 2008 à 10:10
Non non il n'y a rien avant...c'est pour ça que je trouve ça que je trouve ça bizarre.
Mais me le fais souvent en plus donc voila c'est un peu chiant. Je vois vraiment pas le problème...
gagah1
Messages postés509Date d'inscriptionsamedi 28 juin 2003StatutMembreDernière intervention 3 août 2010 13 juin 2008 à 10:22
Le code parait bon.
J'ai remarqué que tu écris Function en majuscule au lieu de function pour déclarer une fonction. Je sais pas c'est peut-etre une erreur tout bête, un point-virgule ....
ninho44
Messages postés86Date d'inscriptionvendredi 18 janvier 2008StatutMembreDernière intervention19 juin 2009 13 juin 2008 à 10:27
Ce qui est bizarre, c'est que j'ai supprimé la fonction du fichier "traitements.php", et je l'ai mise au début de ma page où je l'appelle...et là ça marche !!
Mais bon, je ne veux pas faire comme ça parce que cette fonction je m'en sers souvent...et puis c'est pas vraiment le principe des fonctions de les déclarer à chaque fois !!!