fonction

x@v
Mammouth du PHP | 570 Messages

03 mars 2007, 18:33

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

Eléphant du PHP | 216 Messages

03 mars 2007, 18:39

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
Le PHP c'est bien, surtout quand ça marche ;) mon site
Hébergement gratuit et sans pub => Image

x@v
Mammouth du PHP | 570 Messages

03 mars 2007, 18:42

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.

ViPHP
ViPHP | 4674 Messages

03 mars 2007, 19:59

Tu as une erreur ?
Tu fais bien la connexion à la table ?

:)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

x@v
Mammouth du PHP | 570 Messages

03 mars 2007, 20:01

pas d'erreue et le connexion est correct