Aller au contenu

4Spartan8

Melinyen
  • Compteur de contenus

    8
  • Inscription

  • Dernière visite

  • Days Won

    1

4Spartan8 last won the day on April 4 2014

4Spartan8 had the most liked content!

À propos de 4Spartan8

  • Date de naissance 06/04/1999

Informations du profil

  • Genre
    Homme

Visiteurs récents du profil

971 visualisations du profil

4Spartan8's Achievements

Newbie

Newbie (1/14)

3

Réputation sur la communauté

  1. Pas de soucis, c'est normal ! Les placeholder servent à afficher un message dans le fond de ton input, regarde ton formulaire sur ta page HTML, tu devrais voir écris "Mot de passe". Bien sur ils ne sont pas indispensables, tu peux très bien les enlever !
  2. Alors, voilà la page accueil.php : <!-- ACCUEIL --> <html lang="FR"> <head> <meta charset="UTF-8"/> <title>Accueil</title> </head> <body style="text-align:center;"> <!-- FORMULAIRE HTML BASIQUE --> <form method="post" action="inscription.php"> <p>Pseudo : <input type="text" name="login" placeholder="Identifiant"/></p> <p>Mot de passe : <input type="password" name="password" placeholder="Mot de passe"/></p> <input type="submit" name="submit" value="Connexion"/> </form> </body> </html> Et voilà la page inscription.php : <?php /* CONNEXION A LA BASE DE DONNEE */ try { $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '***'); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } /* ON CREER NOS VARIABLES */ $login = htmlspecialchars($_POST['login']); $password = htmlspecialchars($_POST['password']); //Variable qui ne nous servira qu'une seule fois $password_hash = sha1($password); //On créer une nouvelle variable qui comprend le mot de passe entré mais hashé en SHA1 if(isset($_POST['submit'])){ //Si on a soumi le formulaire //Ici on va lister les erreurs dans un tableau, pour chaque nouvelle erreur on créer une case dans le tableau //On part de 0 donc -> $error[0] PUIS ENSUITE $error[1] etc .. if(empty($login)){ $error[0] = 'Login vide'; //La première entrée du tableau sera = au message 'Login vide' } if(empty($password)){ $error[1] = 'Password vide'; //Pareil que plus haut } if(count($error) == 0){ //Cette fonction compte le nombre d'entrée dans le tableau (attention $error[0] compte comme une entrée. Ici on dit que si le nombre d'entrée dans le tableau est égale à 0 alors on peut faire l'insertion car aucune erreur $req = $bdd->prepare('INSERT INTO members(login, password) VALUES(:login, :password)'); $req->execute(array( 'login' => $login, 'password' => $password_hash)); echo 'Inscription validée !'; //On affiche un message quand l'utilisateur est inscrit correctement }else{ //Par contre si le nombre d'entrée est supérieur à zéro alors on fait une boucle et on affiche les erreurs avec la variable $list foreach ($error as $list){ echo $list . '<br/>'; } } } ?> Le code de la page d'inscription est assez compliqué, si tu as des questions n'hésite pas, une fois que tu as essayé donne moi un retour Je n'ai pas inclue le code pour la connexion par contre !
  3. D'accord, écoute je vais te renvoyer un code propre dans quelques minutes, tu l'essayera et me dira si ça marche (j'éditerai mon message). J'ai une autre question, pourquoi faire ça ? : <?php $header = file_get_contents('footer.html'); echo $header; ?> Si tu veux inclure le code d'une autre page ici tu n'a qu'à faire un include : <?php include('tapage.html'); ?>
  4. Bonjour ! Je suis surpris que 3 ans après les messages sur ce tutoriel soient encore d'actualités, ça fait plaisir Malheureusement celui-ci est complètement dépassé et ne permet pas de créer un système correctement sécurisé puisque les fonctions de PHP ont évolué depuis pas mal de temps ! Tu peux toujours envoyer le code et activer les erreurs pour voir d'ou le problème peut venir, une fois cela fait n'hésite pas à les partager ici pour qu'on puisse jeter un coup d'oeil ! Bonne chance pour la suite
  5. Merci, oui effectivement tu peut aussi utilisé la fonction password_hash
  6. Bonjour à tous ! Aujourd'hui nous nous attaquons à un tutoriel assez long ! Je vous préviens tout de suite ! Si vous n'avez pas de connaissance en PHP / HTML il est inutile de poursuivre ce tutoriel. Nous allons donc comme dit plus haut utilisé du PHP & du HTML pour réaliser ce tutoriel. 1 - Système de connexion C'est partie ! On s'occupe en premier de la base de donnée : Nous allons donc créer un table nommer "membre" qui regroupera tous les membres du site. CREATE TABLE membre ( id int(11) NOT NULL auto_increment, login varchar(8) NOT NULL, password varchar(8) NOT NULL, PRIMARY KEY (id), KEY ID_2 (id) ); Ici on stocke : L'id, le Pseudo & le Password du membre. Ensuite on créer la page LOGIN.PHP & on insére formulaire HTML de connexion : <form method="post" action=""> <legend>Connexion au Panel</legend> <div class="form-group"> <label class="col-lg-2 control-label">Login</label> <div class="col-lg-10"> <input type="text" class="form-control" name="login" placeholder="Login"> </div> </div><br/><br/><br/> <div class="form-group"> <label class="col-lg-2 control-label">Mot de passe</label> <div class="col-lg-10"> <input type="password" class="form-control" name="password" placeholder="Mot de passe"> </div> </div> <br/><br/><center><button type="submit" name="submit" class="btn btn-primary">Connexion</button></center> </form> Ensuite on créer le système qui vas vérifier & nous connecter : <?php // on se connecte à MySQL $db = mysql_connect('localhost', 'login', 'password'); mysql_select_db('nomdelabase',$db); if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['password'])) { $_POST['password'] = hash("sha256", $_POST['password']); extract($_POST); // on recupére le password de la table qui correspond au login du visiteur $sql = "select password from membre where login='".$login."'"; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); if($data['password'] != $password) { echo '<div class="alert alert-dismissable alert-danger"> <button type="button" class="close" data-dismiss="alert">x</button> <strong>Oh Non !</strong> Mauvais login / password. Merci de recommencer ! </div>'; } else { session_start(); $_SESSION['login'] = $login; echo '<div class="alert alert-dismissable alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>Yes !</strong> Vous etes bien logué, Redirection dans 5 secondes ! <meta http-equiv="refresh" content="5; URL=dashboard"> </div>'; // ici vous pouvez afficher un lien pour renvoyer // vers la page d'accueil de votre espace membres } } else { $champs = '<p><b>(Remplissez tous les champs pour vous connectez !)</b></p>'; } ?> Ensuite nous modifions la ligne : // on se connecte à MySQL $db = mysql_connect('localhost', 'login', 'password'); mysql_select_db('nomdelabase',$db); Ici vous entrez les identifiants de connexion à la base de donnée. Voilà, la connexion est terminée. Maintenant nous passons au plus dur ! 2 - Système d'inscription Ici on créer une page REGISTER.PHP & on créer le système d'inscription. Enfaite ce n'est pas réellement le plus dur car ici nous nous servirons tout simplement d'un système de news en php mais nous le modifierons un petit peut ! Alors go : On créer le formulaire d'inscription et on l'insère dans la page <form method="post" action=""> <legend>S'inscrire sur le site</legend> <div class="form-group"> <label class="col-lg-2 control-label">Login</label> <div class="col-lg-10"> <input type="text" class="form-control" name="login" placeholder="Login"> </div> </div><br/><br/><br/> <div class="form-group"> <label class="col-lg-2 control-label">Mot de passe</label> <div class="col-lg-10"> <input type="password" class="form-control" name="password" placeholder="Mot de passe"> </div> </div> <br/><br/><center><button type="submit" name="submit" class="btn btn-primary">S'Inscrire</button></center> </form> Et on créer le système ! IMPORTANT : Ici nous effectuons une connexion MYSQL PDO (beaucoup plus sécurisé) et tout à l'heure le système était fait de sorte à utiliser une connexion MYSQL BASIQUE qui bientôt disparaitra ... C'est partie : <?php //Connexion à la BDD try { $bdd = new PDO ('mysql:host=localhost;dbname=nomdelabase', 'login', 'password'); } catch(Exception $e) { die('Erreur :'.$e->getMessage()); } if(ISSET($_POST['submit'])) { //On créer les variables $login = $_POST['login']; $password = $_POST['password']; $password = hash("sha256", $password); $req = $bdd->prepare('INSERT INTO membre(login, password) VALUES (:login, :password)'); $req->execute(array("login" => $login, "password" => $password)); if(!empty($login) && !empty($password)) { }else{ ?> <b>Pseudo ou MDP vide !</b> <?php } if(empty($login) && empty($password)) { }else{ session_start(); $_SESSION['login'] = $_POST['login']; header('Location: dashboard'); } } ?> La connexion PDO est ici : <?php //Connexion à la BDD try { $bdd = new PDO ('mysql:host=localhost;dbname=nomdelabase', 'login', 'password'); } catch(Exception $e) { die('Erreur :'.$e->getMessage()); }[/php] Il ne vous reste plus qu'à changer : [php]('mysql:host=localhost;dbname=nomdelabase', 'login', 'password')[/php] Et ici aussi pour le lien de redirection une fois que la SESSION à démarrée : [php] session_start(); $_SESSION['login'] = $_POST['login']; header('Location: LIEN-DE-REDIRECTION'); 3 - Système de vérification ICI nouveau problème : Si on essaye d'accèder à une page qui normalement doit être réservé au personne connectées, par exemple : panel.php. Et bien nous y avons quand même accès même déconnecté ! Nous allons résoudre ce problème avec une page nommée vérif.php. On y inclue ce code : <? session_start(); /* si la variable de session login n'existe pas cela siginifie que le visiteur n'a pas de session ouverte, il n'est donc pas logué ni autorisé à acceder à l'espace membres */ if(!isset($_SESSION['login'])) { echo '<h1>Vous n\'êtes pas connecté, accés interdit !</h1> <meta http-equiv="refresh" content="0; URL=index.php"> '; } ?> Comme indiqué en haut, on regarde si la SESSION est démarrée, si elle ne l'est pas on interdit l'accès. Ensuite il ne vous reste plus qu'à include ce code sur toutes les pages que vous voulez : <?php include ('verif.php') ; ?> 4 - Système de déconnexion Pour finir l'utilisateur doit bien ce déconnecter une fois qu'il à terminé. Pour ce faire nous créons la page logout.php et on y inclue ce code : <?php session_start(); session_unset(); session_destroy(); header('Location: login.php'); ?> Ici on déconnecte l'utilisateur & on le redirige vers la page de login ! Ce tutoriel est maintenant terminé ! Attention : Je préviens à l'avance avant que tous le monde spam le topic : Le Topic ne sert en aucun cas de Support ! J'insiste bien la dessus. Vu que je ne suis pas méchant contactez mon plutôt par Mp sur le Forum, c'est quand même mieux ! En espérant vous avoir aidez, à la prochaine !
×
×
  • Créer...