Page 1 sur 1

fonction

Posté : 03 mars 2007, 18:33
par x@v
Bonjour,
j'ai un script d'authentification qui fonctionne tel quel, mais quand j'en fait une fonction il ne répond plus ?
Celui là est parfaitement bon
<?php
session_start();
include('fonction_client.php');
include('connexion.php');
$nom=$_POST['pseudo'];
$motPasse=$_POST['mot_de_passe'];

   $result = mysql_query("SELECT * FROM utilisateur 
   WHERE user_name='$nom' 
   and mot_de_passe='$mot_de_passe'");
   $ok=mysql_num_rows($result)>0;
if($ok == 0) 
{
   $_SESSION['nom']= $nom;
   $_SESSION['mot_de_passe']= $mot_de_passe;

   echo 'vous ne pouvez pas vous logger'.$_SESSION['nom'].$_SESSION['mot_de_passe'].'<br>';  
} else {
   $_SESSION['nom']= $nom;
    echo 'Vous êtes logger '.$_SESSION['nom'];
}
?>
Le même en fonction
function conexion()
{
$nom=$_POST['pseudo'];
$motPasse=$_POST['mot_de_passe'];

   $result = mysql_query("SELECT * FROM utilisateur 
   WHERE user_name='$nom' 
   and mot_de_passe='$mot_de_passe'");
   $ok=mysql_num_rows($result)>0;
if($ok == 0) 
{
   $_SESSION['nom']= $nom;
   $_SESSION['mot_de_passe']= $mot_de_passe;

   echo 'vous ne pouvez pas vous logger'.$_SESSION['nom'].$_SESSION['mot_de_passe'].'<br>';  
} else {
   $_SESSION['nom']= $nom;
    echo 'Vous êtes logger '.$_SESSION['nom'];
}
}
// on vérifie si l'user c'est identifié.
function verif_valid_user()
{
   if (isset($_SESSION['nom']))
   {
   echo 'Bienvenue '.$_SESSION['civilite'].' '.$_SESSION['prenom'].' '.$_SESSION['nom'];
   }
   else 
   {
   echo 'Vous n\'êtes pas encore enregistré ?';
   //do_html_url('login.php', 'Login');
   //do_html_footer();
   }
}
Merci

Posté : 03 mars 2007, 18:39
par polo
Bonjour,

tu a oublier tes fichiers inclus dans la fonction, test avec ceci:
function conexion()
{
include('fonction_client.php');
include('connexion.php'); 

$nom=$_POST['pseudo'];
$motPasse=$_POST['mot_de_passe'];

   $result = mysql_query("SELECT * FROM utilisateur 
   WHERE user_name='$nom' 
   and mot_de_passe='$mot_de_passe'");
   $ok=mysql_num_rows($result)>0;
if($ok == 0) 
{
   $_SESSION['nom']= $nom;
   $_SESSION['mot_de_passe']= $mot_de_passe;

   echo 'vous ne pouvez pas vous logger'.$_SESSION['nom'].$_SESSION['mot_de_passe'].'<br>';  
} else {
   $_SESSION['nom']= $nom;
    echo 'Vous êtes logger '.$_SESSION['nom'];
}
}
// on vérifie si l'user c'est identifié.
function verif_valid_user()
{
   if (isset($_SESSION['nom']))
   {
   echo 'Bienvenue '.$_SESSION['civilite'].' '.$_SESSION['prenom'].' '.$_SESSION['nom'];
   }
   else 
   {
   echo 'Vous n\'êtes pas encore enregistré ?';
   //do_html_url('login.php', 'Login');
   //do_html_footer();
   }
}
Voila :D

Posté : 03 mars 2007, 18:42
par x@v
oui mais le script ne fonctionne plus
function conexion()
{
include('connexion.php');
$nom=$_POST['pseudo'];
$motPasse=$_POST['mot_de_passe'];

   $result = mysql_query("SELECT * FROM utilisateur 
   WHERE user_name='$nom' 
   and mot_de_passe='$mot_de_passe'");
   $ok=mysql_num_rows($result)>0;
if($ok == 0) 
{
   $_SESSION['nom']= $nom;
   $_SESSION['mot_de_passe']= $mot_de_passe;

   echo 'vous ne pouvez pas vous logger'.$_SESSION['nom'].$_SESSION['mot_de_passe'].'<br>';  
} else {
   $_SESSION['nom']= $nom;
    echo 'Vous êtes logger '.$_SESSION['nom'];
}
}
// on vérifie si l'user c'est identifié.
function verif_valid_user()
{
   if (isset($_SESSION['nom']))
   {
   echo 'Bienvenue '.$_SESSION['civilite'].' '.$_SESSION['prenom'].' '.$_SESSION['nom'];
   }
   else 
   {
   echo 'Vous n\'êtes pas encore enregistré ?';
   //do_html_url('login.php', 'Login');
   //do_html_footer();
   }
}
session_start();
include('fonction_client.php');
conexion();
au début j'avais repris
<?php
session_start();
include('fonction_client.php');
$nom=$_POST['pseudo'];
$motPasse=$_POST['mot_de_passe'];
conexion($nom, $motPasse);
?>
avec la fonction
function conexion($nom, $motPasse)
{
include('connexion.php');
   $result = mysql_query("SELECT * FROM utilisateur 
   WHERE user_name='$nom' 
   and mot_de_passe='$mot_de_passe'");
   $ok=mysql_num_rows($result)>0;
if($ok == 0) 
{
   $_SESSION['nom']= $nom;
   $_SESSION['mot_de_passe']= $mot_de_passe;

   echo 'vous ne pouvez pas vous logger'.$_SESSION['nom'].$_SESSION['mot_de_passe'].'<br>';  
} else {
   $_SESSION['nom']= $nom;
    echo 'Vous êtes logger '.$_SESSION['nom'];
}
}
// on vérifie si l'user c'est identifié.
function verif_valid_user()
{
   if (isset($_SESSION['nom']))
   {
   echo 'Bienvenue '.$_SESSION['civilite'].' '.$_SESSION['prenom'].' '.$_SESSION['nom'];
   }
   else 
   {
   echo 'Vous n\'êtes pas encore enregistré ?';
   //do_html_url('login.php', 'Login');
   //do_html_footer();
   }
}
Je crois que dans une fonction la variable de session est initialisé differement que sans.
puisqu'à chaque fois que je me connecte il retiens le même nom de session.
Et cela quoi que je rentre dans le formulaire.

Posté : 03 mars 2007, 19:59
par Hywan
Tu as une erreur ?
Tu fais bien la connexion à la table ?

:)

Posté : 03 mars 2007, 20:01
par x@v
pas d'erreue et le connexion est correct