Categories > TinyButStrong general (FR) >

Problème avec une gestion de compte

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: pierce
Date: 2006-01-10
Time: 09:23

Problème avec une gestion de compte

Bonjours à tous,
voila mon problème, je veux faire une gestion de comptequi enverrai, si le login et le mot de passe est correcte sur une feuille acceuil, la vérification se fait à partir d'une table mysql,
j'ai utilisé ceci :
<?
session_start();// Ouverture de la session
include_once('tbs_class.php') ;

//Connexion à la base de donnée
if (!isset($_SERVER)) $_SERVER=&$HTTP_SERVER_VARS ; //PHP<4.1.0
require('connexion.php');

//Le fichier connexion.php contient les lignes suivnates :
//  $cnx_id = mysql_connect('localhost','user','password') ;
//  mysql_select_db('dbname',$cnx_id) ;

$TBS = new clsTinyButStrong ;
$TBS->LoadTemplate('login.htm') ;
//Je charge la feuille login.php

if (!isset($_POST)) $_POST=&$HTTP_POST_VARS ;
if (!isset($_POST['x_login']) && !isset($_POST['x_mo_de_passe']))
{
  $x_login = '' ;
  $x_mot_de_passe = '' ;
  $msg_text = 'Après avoir saisie, cliquez sur le bouton [login].' ;
  $msg_color = '#0099CC' ; //bleu
}
else
{
  $x_login = $_POST['x_login'] ;
  $x_mot_de_passe = $_POST['x_mot_de_passe'] ;
  if ((trim($x_login)=='')    and ($msg_text=='')) $msg_text = 'Vous devez saisir votre login.' ;
  if ((trim($x_mot_de_passe)=='') and ($msg_text=='')) $msg_text = 'Vous devez saisir votre mot de passe.' ;
if ($msg_text=='')
     {
     $champs = 0;
        $champs = $TBS->MergeBlock('blk1',$cnx_id,"SELECT refutilisateurs, login, profil FROM UTILISATEURS WHERE login='$x_login' AND motdepasse='$x_mot_de_passe'"); ;
          if ($champs <> 0 )
          {
          $champs = $TBS->GetBlockSource('blk1');
       
            $_SESSION['login'] = $x_login ;
          $_SESSION['refutilisateurs'] = $x__mot_de_passe;
          //$_SESSION['profil'] = $champs[2];
          //setcookie ('profil', $champs[2], time()+3600, '/', 0);
          //setcookie ('login', $champs[1], time()+3600, '/', 0);
          //setcookie ('refutilisateurs', $champs[0], time()+3600, '/', 0);
          header ("Location:  http://" . $_SERVER['HTTP_HOST'] .
              dirname($_SERVER['PHP_SELF']) . "/acceuil.php");
              // j'ai due mettre un "/" avant acceuil il faudra peut-etre l'enlever
   
         //echo $_SESSION['login'];
         $TBS->CacheAction('session', 'TBS_CACHENOW' , $x_login , $x_mot_de_passe );

      exit();
        }else{
        $msg_text = 'votre login ou votre mot de passe est érroné veuillez le ressaisir svp';
        $msg_color = '#990000' ; //rouge
        }
       
    } else {
    $msg_color = '#990000' ; //rouge
    }

}

$TBS->Show() ;
mysql_close($cnx_id) ;
?>


le cpoint précis est :
if ($msg_text=='')
     {
     $champs = 0;
        $champs = $TBS->MergeBlock('blk1',$cnx_id,"SELECT refutilisateurs, login, profil FROM UTILISATEURS WHERE login='$x_login' AND motdepasse='$x_mot_de_passe'"); ;
          if ($champs <> 0 )
          {
          $champs = $TBS->GetBlockSource('blk1');
       
            $_SESSION['login'] = $x_login ;
          $_SESSION['refutilisateurs'] = $x__mot_de_passe;
          //$_SESSION['profil'] = $champs[2];
          //setcookie ('profil', $champs[2], time()+3600, '/', 0);
          //setcookie ('login', $champs[1], time()+3600, '/', 0);
          //setcookie ('refutilisateurs', $champs[0], time()+3600, '/', 0);
          header ("Location:  http://" . $_SERVER['HTTP_HOST'] .
              dirname($_SERVER['PHP_SELF']) . "/acceuil.php");
Vous pouvez remarquez que j'ai toujours un souci au niveau de ma session ou de l'utilisation du fichier cache
merci par avance pour votre aide
By: Skrol29
Date: 2006-01-10
Time: 13:03

Re: Problème avec une gestion de compte

Mais quel est ton problème exactement ?

Attention à tes requêtes MySQL : les paramètres $x_login et $x_mot_de_passe ne sont pas protégés par mysql_escape_string() donc ton appli est sensible au piratage par "SQL Injection".

By: pierce
Date: 2006-01-10
Time: 14:19

Re: Problème avec une gestion de compte

c'était pour savoir comment enregistrer dans des session le profil, mais c'est bon c'est arrangé, merci tout de même