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>';
}
}
}
}
}
?>
On te demande un jugement sur le code, et en 4 posts, tu parle toujours de la m?me chose : la rencontre qui n'a jamais eu lieu. Pour moi ce n'est pas un argument valable envers ce code. Pire encore cet HORS SUJET. Si vous voulez que "Merci donc de laisser ce message afin que Lasserre puisse en prendre connaissance" alors pour cela il existe quel proc?d? qui ont r?volutionn?s leur ?poque :
_ le t?l?phone
_ l'email
_ ...
Merci de bien faire la part des choses.
Encore une fois, je me vois contraint de supprimer vos messages inutiles...
bon allez supprimer mes messages, de toute façon à quoi ca sert de discuter avec des murs ?
à perdre du temps => return true
salut je vous embêterai plus vous pouvez supprimer mes messages et puis je n'ai rien contre cette personne au contraire c'est un ami...
t'as commence ton post par une insulte, sans meme dire pourquoi son code etait mauvais...
t'es en colere contre l'auteur apparement, mais en fait, nous, on s'en fout... pour nous, on regarde les codes sources des gens, si ils sont bons, on approuve, si ils sont mauvais, on tente de leur expliquer comment faire mieux.
sinon, explique pourquoi tu trouves ce code de mauvaise qualite, une fois pour toute, histoire qu'on ne te prenne pas pour un type aigri et incapable de faire la part des choses... (parce-que la, j'ai l'impression que tu n'aimes pas l'auteur, donc tu dis que son code est pourrit... alors que c'est pas forcement le cas...)
Si vous consid?rez que ce code est mauvais, je veux bien l'accepter, mais des arguments sont dans ce cas attendus, sinon c'est trop facile de critiquer.
A bon entendeur...
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.