Session

Signaler
-
 nzenke -
Bonjour, après avoir développée ma petite application en pur PHp5,
je voudrai la migré vers l'orienté objet via codeIgniter, mais seulement au tout début je suis confronté à un problème:

j'ai l'accueil de mon applie qui demande une authentification utilisateur (login et password) et je voudrais que si l'authentification est réussie l'utilisateur soit dirigé vers la page menu de mon applie. Enfait j'ai voulu gérer celà en session et voici le code que j'ai mis sur pieds mais l'applie burg, svp aidez-moi. Merci d'avance pour ce que vous faites pour nous les débutants.


<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {

/**
 * Index Page for this controller.
 *
 * Maps to the following URL
 * 		http://example.com/index.php/welcome
 *	- or -  
 * 		http://example.com/index.php/welcome/index
 *	- or -
 * Since this controller is set as the default controller in 
 * config/routes.php, it's displayed at http://example.com/
 *
 * So any other public methods not prefixed with an underscore will
 * map to /index.php/welcome/<method_name>
 * @see http://codeigniter.com/user_guide/general/urls.html
 */
public function index()
{
$this->load->view('mavue.php');
}

     public function authentification(){
 
 
if(isset($_SESSION['user']) and isset($_SESSION['user']['login']) and isset($_SESSION['user']['pass'])){
extract($_SESSION['user']);
$sql = "SELECT * FROM users WHERE login='$login' AND pass='$pass' LIMIT 1";
$req = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($req) > 0){
return true;
}
return false;
}
return false;
      }
      
  public function levelZone(){
  
  
if(isset($_SESSION['user']) and isset($_SESSION['user']['login']) and isset($_SESSION['user']['password'])){
extract($_SESSION['user']);
$sql = "SELECT login,pass,level FROM users WHERE login='$login' AND password='$pass' LIMIT 1";
$req = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($req) > 0){
$data = mysql_fetch_assoc($req);
if($data['level']>=1 && $data['level']<=3) return $data['level'];
}
return false;
}
return false;
}
?>

<?php


<?php
/*
* index.php
*/
session_start();
mysql_connect('localhost','root','');
mysql_select_db('cat');
mysql_query('SET NAMES 'utf8'');
include './user.php';
$login ='byoos';
$pass = 'byoosadmin237';
$_SESSION['user'] = array(
"login"=>$login,
"pass"=>$pass
);
if(user::isLogged()){
echo 'Bienvenu sur votre carnet d\'adresses
';
echo 'Level : '.user::levelZone().'
';
switch(user::levelZone()){
case "1":
echo 'Administrateur
';
break;
case "2":
echo 'utilisateur principal
';
break;
case "3":
echo 'simple utilisateur
';
break;
}
}else{
echo 'Non identifier
';
}
?>



}

//End of file.

1 réponse

j'ai aussi essayé de faire simple avec ceci:
public function index()
{
$this->load->view('mavue.php');
}

     public function authentification(){
 
 
if(isset($_SESSION['user']) and isset($_SESSION['user']['login']) and isset($_SESSION['user']['pass'])){
extract($_SESSION['user']);
$sql = "SELECT * FROM users WHERE login='$login' AND pass='$pass' LIMIT 1";
$req = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($req) > 0){
return true;
}
return false;
}
return false;
      }
  
  
  public function connected(){
  $connect_statut=authentification();
  
  if($connect_statut==TRUE){
  redirect(contacts.php);
  }
  
  else{ echo 'mot de passe incorect';
  }
 }
 }
mais ça ne marche pas toujours.