Systeme de connexion identifiant + login

Description

gérè l'inscription la vérification et l'envoi de mail si perdu
Le tout gérer sous Codeingner FRAMEWORK.
Il ya trois fichiers

le controller
Le fichier view
Le css.
et le Helper_html que j'ai modif pour détecter le user agent pour changer de css

Il reste une petite modif a fair de passer le mdp en MD5 ou hash pour une meilleur sécurisation :)

Source / Exemple :


<?php
class login extends Controller {
	
	public function login() {
		parent::Controller();
		
		//Include des helpers Formulaire et url.
			$this->load->helper('form');
			$this->load->helper('url');
			$this->load->helper('email');
			$this->load->plugin('captcha');
	}
	
	/*
	Fonction affichage de la page d'acceuil de plus recuperation du login si
	demande de renouveau mot de passe.
	Le: 13/02/2008
	Par: damien Lasserre

  • /
public function index() { //Recuperer ne url le parametre login si il vien d'une recuperation de mot de pass. $login = $this->uri->segment(3); $data['temp_login'] = $login; //Feuille de style en rapor u navigateur ! $data['style'] = link_style('autre/style.css','mozilla/style.css'); //chargement de template + insertion du title. $data['title'] = "Bienvenu sur la page d'identification"; $this->load->view('login/login', $data, FALSE); }//Fonction /* fonction de verification et d'identification utilisateur. Le 13/02/2008 Par : Damien Lasserre/
  • /
public function verif() { //Verification si le login existe dans la base de donnée. if($_POST['login'] != NULL) { //Requete SQL Where avec le login. $requete = $this->db->where('login', $_POST['login']); $query = $this->db->get('author', 1); $data = $query->row_array(); //Si la variable existe if(isset($data['login'])) { $log = $data['login']; $pass = $data['mdp']; //Si le login correspond bien. if ($log == $_POST['login']) { //Si le mot de passe corespond bien !. if($pass == $_POST['mdp']) { //Demarge de la session. session_start(); //Login dans une variable de session. $_SESSION['login'] = $data['login']; //Redirection si le login mdp est bon. redirect('login/home'); } else { //en cas de mauvais mot de passe on lui propose de le retrouver //Si toute fois le login est bon. echo '<html> <head> <titl></title>'. link_style('autre/style.css','mozilla/style.css') .'<head> <body> <center> <fieldset>'.br(1); echo 'Mauvais password'.'<br />'; echo anchor('login/retrived_password/'.$_POST['login'], 'Retrouver mon password').br(1); echo anchor('login/index/'.$_POST['login'], 'Retour a l\'identifiaction'); echo '</fieldset></center></body>'; } } } else { //Si le login est mauvais ! echo '<html> <head> <titl></title>' .link_style('autre/style.css','mozilla/style.css'). '<head> <body> <center> <fieldset>'.br(1); echo 'Ce nom de compte n\'existe pas'.br(1); echo anchor('login/inscription', 'Inscription ?').br(1); echo anchor('login/index', 'Retour<br />').br(1); echo '</fieldset></center></body>'; } } else { //Si les champs sont vides! echo 'Des champs sont vides'; } } //Function /* Fonction affiche home si l'utilisateur est identifier ! Le 13/02/2008 Par: damien Lasserre.
  • /
public function home() { session_start(); $data['title'] = "Home page"; $data['heading'] = "Welcom to my First home page !"; //Si la variable Session n'existe pas alors on affiche rien ! //Sinon on l'affiche ! if(isset($_SESSION['login'])) { $data['session'] = $_SESSION['login']; if($data ['session'] != null) { //Affiche le template ! $this->load->view('home',$data); } } else { echo 'acces denied<br />'; echo anchor('login/index', 'Veuillez vous identifier'); } }//Fonction /*Fonction de recuperation du mot de passe Le 13/02/2008 PAR: damien Lasserre
  • /
public function retrived_password() { $login_temp = $this->uri->segment(3); $data['title'] = "Retrived Password !"; $data['temp'] = $login_temp; $data['style'] = link_style('autre/style.css','mozilla/style.css'); $this->load->view('login/retrived_password', $data); if(isset($_POST['login_verif'])) { if($_POST['login_verif'] != null) { $this->db->where('login', $_POST['login_verif']); $query = $this->db->get('author'); $data = $query->row_array(); if(isset($data['login'])) { $log = $data['login']; $login_verif = $_POST['login_verif']; if($login_verif != null) { if($log == $_POST['login_verif']) { $ok = send_email($data['email'], 'No reply Mot de passe', $data['mdp']); if($ok == TRUE) { echo '<html> <head> <titl></title>'. link_style('autre/style.css','mozilla/style.css') .'<head> <body> <center> <fieldset> <p>un mail vous a été envoyer !</p>'.br(1); echo anchor('login/index/'.$_POST['login_verif'], 'Retour a l\'authentification !'); echo '</center></fieldset>'; exit(); } } } } else { echo 'Mauvais identifiant !'; } } else { echo 'Le Champs est vide !'; } } }// Function. public function inscription() { $data['title'] = "Inscription"; $data['heading'] = "Inscription"; $data['style'] = link_style('autre/style.css','mozilla/style.css'); $this->load->view('login/inscription', $data); } /* Fonction de création d'un compte (Trés simple ! voir pour grande optimisation) Le: 13/02/2008 Par: damien Lasserre
  • /
public function insert() { if(isset($_POST['login']) and isset($_POST['mdp'])) { if($_POST['login'] != null and $_POST['mdp'] != null) { $this->db->where('login', $_POST['login']); $query = $this->db->get('author'); $result = $query->row_array(); //A partir du moment ou la variable existe c'est qui il a un doublon. if(isset($result['login'])) { //Informe de l'existance du compte echo '<html> <head> <titl></title>'. link_style('autre/style.css','mozilla/style.css') .'<head> <body> <center> <fieldset>'; echo '<b style="color:red">Ce nom de compte est deja pris</b>' . br(1); echo anchor('login/retrived_password/'.$result['login'], 'Recupérer le mot de passe de ce compte').br(1); echo anchor('login/inscription/', 'Retour'); echo '</fielset></center></body></html>'; } else { $valid = valid_email($_POST['email']); if ($valid == FALSE) { echo 'Email Invalide !'.br(1); echo anchor('login/inscription', 'Retour'); exit(); } $this->db->insert('author', $_POST); echo '<html> <head> <titl></title>'. link_style('autre/style.css','mozilla/style.css') .'<head> <body> <center> <fieldset>'.br(1); echo '<b style="color:green">Votre compte a bien été crée, cliquez sur le lien ci dessous</b>' . br(1); echo anchor('login/index/'.$_POST['login'],'Retour a l\'identification'); echo '</fieldset></center></body>'; } } } } } ?>

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.