Créer un système de Connexion / Inscription en PHP
-
Très bon tutoriel, pour un premier message c'est du bon boulot.

+1 point de réputation.
-
Très bon tutoriel, pour un premier message c'est du bon boulot.

+1 point de réputation.
Merci beaucoup

-
Le session_start(); devrait être en tout début de page, à la première ligne du fichier, vraiment.
Sinon, bon tutoriel.
-
Merci pour ce tutoriel très clair ! Je vais m'en servir pour ma prochaine réalisation !
-
Bon tutoriel, serait pas mal de faire le même en POO et sans Boostrap, pourquoi pas ajouté un système de vérification par mail ou key.
Sinon pour les requêtes SQL privilégie BindParam niveau sécu c'est mieux.
+1
-
Salut, je sais que le sujet dois surement etre clos, mais j'ai besoin d'aide. Au niveau du script LOGIN.PHP j'ai un message d'erreur que je ne comprend pas:
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u515460985/public_html/LOGIN.php on line 24
et voila le script qui correspond a cette erreur: $db = mysql_connect('#', 'u515460985_moi', '#');
mysql_select_db('#',$db);Evidemment la ou il y a les # j'ai rempli les informations, quelque peut m'aider?
-
Bon je ne code pas du tout en php, mais en gros en traduction ca dit que tu ne dois plus utiliser l'extension mysql car elle est obsolète mais plutôt mysqli ou PDO

-
En effet et je te recommande d'utiliser le PDO

http://php.net/manual/fr/book.pdo.php
https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql
-
A ok merci de l'aide
je vais essayer -
<?php $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); ?>Je ne omprend pas bien comment utiliser le $user et le $pass,Vous pouver peut etre m'aider? -
Ben c'est des variables non ? Donc tu dois définir leurs valeurs au dessus. Si c'est ca la problème, il va falloir apprendre le php plus en profondeur avant de vouloir faire ce genre de chose

-
Salut vfrz, en gros je fait:
$user = '#';
et a la place du # je met mes informations?
Et pour te répondre va sur mon site voir ce que j'ai reussi a faire: http://eyesgammer.pe.hu/
(Evidemment le site n'est pas fini)
-
Il y a 11 heures, EyesGammer a dit :
Salut vfrz, en gros je fait:
$user = '#';
et a la place du # je met mes informations?
Et pour te répondre va sur mon site voir ce que j'ai reussi a faire: http://eyesgammer.pe.hu/
(Evidemment le site n'est pas fini)
Oui c'est ça, mais si tu ne sais pas comment fonctionne les variables c'est inquiétant, tu as suivis un cours php ?
-
Oui j'ai suivis des cours sur internet (gratuit) de plusieurs sites, mais je sais comment les variables fonctionne.
Mais voila encore un probleme; j'ai essayé du coup comme il faut, et il y a encore plus de messages d'erreurs....
Donc pourrai-tu me dire le "risque" si je laisse ma connection mysql comme je l'ai actuellement?
-
Hellow !
Le risque que tu encours est que ton site ne fonctionne pas sous PHP 7.0, car cette fonction a était supprimer. Je vais te fait donc un petit cours de PDO. (Vraiment petit car c'est beaucoup plus subtil que ça)
Pour te connecter à une base de données, la solution ta était donné plus haut, c'est bien:
$dbh = new PDO('mysql:host=localhost;dbname=LeNomDeTaBaseDeDonnées', 'TonNomDeCompte', 'TonMotDePasse');Tu l'auras compris, tu dois modifier les "LeNomDeTaBaseDeDonnées", "TonNomDeCompte" et "TonMotDePasse" par ce qui est marqué.
Ensuite, pour faire une requête dedans, rien de plus simple, on procède comme ça:
$TaRequêteSql = $dbh->prepare('SELECT * FROM NomDeTaTable'); $TaRequêteSql->execute();Tu peux modifier la requête sql par ce que tu veux, la j'ai mis un simple SELECT.
Ensuite, si tu veux "manipuler" les données, tu dois faire:
$TesDonnées = $TaRequêteSql->fetchAll();Enfin, je te renvoie à la documentation sur PDO pour le reste.
http://php.net/manual/fr/book.pdo.php
Et voici un très bon cours qui te permettras de comprendre PDO plus facilement:
https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/lire-des-donnees-2
Bonne chance. ^-^
-
Merci
Je vais tester et voir si j'ai un message d'erreur 
-
bonjour,
pour moi cela ne marche pas meme avec le copier coller et en modifiant les identifiants pour se connecter a la base de donner quand je met le login et le mot de passe sa refresh la page mais sa ne fait rien et dans la base de donner il n'y ya ni dans login ni mot de passe d'ajouter
-
Le 18/04/2017 à 19:57, zougui a dit :
bonjour,
pour moi cela ne marche pas meme avec le copier coller et en modifiant les identifiants pour se connecter a la base de donner quand je met le login et le mot de passe sa refresh la page mais sa ne fait rien et dans la base de donner il n'y ya ni dans login ni mot de passe d'ajouter
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

-
les erreurs sont déjà activées... le code
accueil.php
<!DOCTYPE html> <HTML> <head> <meta content="prototype crystalcraft"> <meta charset="utf-8" /> <link rel="shortcut icon" href="img/icon 1.png" type="image/x-icon"/> <link rel="apple-touch-icon" href="img/icon 1.png" type="image/x-icon"/> <link rel="stylesheet" href="prototype_1.css"/> <title> accueil </title> </head> <body> <?php $header = file_get_contents('header.html'); echo $header; ?> <section> <form method="post" action="inscription.php"> <legend>connexion au panel</legend> <div class="form-group"> <label class="col-lg-2 control-label">login</label> <div class="col-lg10"> <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> </form> </section> <div id="horloge"> </div> <?php $header = file_get_contents('footer.html'); echo $header; ?> </body> </HTML>inscription.php
<?php //Connexion à la BDD try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=**;dbname=**;charset=utf8', '**', '**',$pdo_options); } 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)'); if(!empty($login)) { }else{ ?> <b>mot de passe vide !</b> <?php } if(empty($login) && empty($password)) { }else{ session_start(); $_SESSION['login'] = $_POST['login']; header('Location: accueil.php'); } } ?>une des erreurs venais de cette ligne
req->execute(array("login" => $login, "password" => $password));mais ce n'était pas la seul
-
Il y a 2 heures, zougui a dit :
...
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'); ?>
Bonjour ! Vous semblez intéressé par cette conversation, mais vous n’avez pas encore de compte.
Marre de refaire défiler les mêmes messages ? Créez un compte pour retrouver votre position, recevoir des notifications des nouvelles réponses, sauvegarder vos favoris et voter pour les messages que vous appréciez.
Grâce à votre participation, ce message peut devenir encore meilleur 💗
S'inscrire Se connecter



