mercredi 6 mars 2013

[Tuto] Autocomplétion avec jQuery et MySQL

Salut tout le monde,
Bienvenue sur ce tutoriel, aujourd'hui on va essayer de créer un formulaire en utilisant jQuery. Ce formulaire  recherche dans une base de donnée et vous renvoie les résultats immédiatement.
On prend l'exemple de recherche d'un membre dans la bdd.

lundi 4 mars 2013

[TUTO] Espace membres : Connexion

Bienvenue sur Mweb tutoriels. Aujourd'hui on va voir la première fonction PHP, il s'agit d'une fonction qui vous permettra de vérifier un formulaire de connexion sur votre site, et on peut même garder notre session active (se souvenir de moi). Pour commencer, on aura besoin d'un seul fichier "Connexion.php", une partie sera consacré pour le formulaire de connexion, et une autre pour traiter les entrées et les vérifier à partir de la base de donnée. Avant tout, il faut créer d'abords la base de donnée. C'est là ou on stockera les informations des utilisateurs :
--
-- Structure de la table `users`
--

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Contenu de la table `users`
--

INSERT INTO `users` (`id`, `username`, `password`) VALUES
(1, 'user', ' e10adc3949ba59abbe56e057f20f883e'),
(2, 'user2', ' e10adc3949ba59abbe56e057f20f883e'),;
Si vous vous demandez pourquoi il y'a tout ce baratin dans le champ `password`, n'ayez pas peur, c'est équivalent à `123456` après le cryptage grâce à la fonction MD5(). On crée 3 champs, un pour l'id qui sera unique pour chaque membre, un autre pour les pseudos du membre et le dernier pour le mot de passe. Vous pouvez ajouter d'autres champs si vous voulez, je me suis limité à ces 3 car ils sont largement suffisants pour la fonction. Dés la création de la base de donnée, on peut attaquer la partie php du fichier connexion.php
  
$usr = trim(mysql_real_escape_string($_POST['username']));
           $pwd =trim(mysql_real_escape_string(md5($_POST['userpass'])));
  if($usr && $pwd){
$str = mysql_query("select * from users where username = '".$usr."' and password= '".$pwd."' ");
    if(mysql_num_rows($str) > 0){//on verifie si le pseudo et le mot de passe sont correctes.
 
  $row=mysql_fetch_assoc($str);
            $m_id = $row['id'] ;
   $m_username = $row['username'];
            $m_password = $row['password'];
   $mnt=time();
   if($_POST["cookie"]=="cookie"){//on vérifie si on veut garder la session active(se souvenir de moi).
   $temp_cookie=time()+3600*24*30;// la durée du cookie, 3600*24*30 en secondes=30jours.
   // on crée les cookies
   setcookie("id",$_SESSION['id'],$temp_cookie);
   setcookie("user",$_SESSION['user'],$temp_cookie);
   }
            // on crée les sessions
   $_SESSION['id'] = $m_id;
   $_SESSION['user'] = $m_username;
   echo "Vous êtes connecté ".$m_username.".

"; 
     
echo '';//rediriger le membre connecté vers la page d’accueil
   }
   


else {
//si les informations entrées ne sont pas correcte 
echo"Le nom d'utilisateur ou le mot de passe est incorrecte.

";}
  
  
  }else {
  // si on a laissé un champ vide
  echo"Veuillez entrer un nom d'utilisateur est un mot de passe

";} }
  
  
Explications: D'abords on vérifie si on a cliqué sur le bouton de connexion,si tous les champs ne sont pas vides on continue, sinon un message d'erreur sera affiché. Puis on communique avec la bdd pour savoir si ce membre existe et si le mot de passe est correcte. Ensuite on crée les sessions et les cookies si le membre a choisi de garder sa session active. Si on est arrivé a cette étape,un message s'affiche pour confirmer le succès de la connexion. Enfin on termine par les messages des erreurs, au cas où il y'avait un problème lors de la connexion. Maintenant on passe pour la partie html, il y'a pas grandes choses à faire, juste un formulaire.

Connexion

Nom d'utilisateur
Mot de passe
Se souvenir de moi
Je vous ai préparé un seul fichier prêt à utiliser, il suffit juste d'installer la base de données. Vous pouvez d'ailleurs ajoutez/modifier le fichier comme vous voulez, pour vérifier si le membre est banni par exemple afin de l’interdire de se connecter. Permettez-moi de savoir comment cela fonctionne chez vous!