Protéger une page avec un mot de passe

Par Francky-C le 25 Septembre 2019 à 19:03 (Édité) 9 +99

Bonjour je travail actuellement sur un Site et je suis au tous début de sa création mais mon objectif était de protéger la page d'accueil avec un mot de passe utilisateur que j'ai insérer dans la table de ma base de donnée du coup j'y arrive pas avec le code SQL



try
{
$bdd = new PDO('mysql:host=localhost;dbname=loginpage;charset=utf8', 'root', '');
} 
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}


// Insertion du message à l'aide d'une requête préparée
$req = $bdd->prepare('INSERT INTO `utilisateur` (`id`, `usersname`, `password`) VALUES (NULL, "pacci", "test")');


$req->execute(array($_POST['username'], $_POST['password']));



echo $_POST['username'];
    exit;
    }

 header('Location: accueil.htm');
?>
Cette pub permet au site de vivre ...

9 commentaires

Re:


@Francky-C, as-tu tenter de réessayer grâce à cet article ? 🤔

@Clouder pour l'instant NON


J'ai pas encore scrypter le mot de passe


Mais je compte le faire avec un md5

OUI @Jerem971 c'est bien un formulaire de connexion


Dans mon cas l'utilisateur a déjà ces coordonnées dans ma base de donnée



@Francky-C,


Une petite question, lorsque ton utilisateur s’inscrit sur ton site, tu cryptes son mot de passe ?

Re:


Pas de soucis @Francky-C 😉 Si tu as besoin d'aide concernant l'utilisation du forum, tu peux venir en parler à l'équipe sur la messagerie 😉

Si je comprends bien, c'est bien un formulaire de connexion que l'utilisateur rempli s'il souhaite accéder à ta page en question ? 🤔

Bonjour @Clouder, j'arrive a me connecter a ma base de donnée


mais j'essaye de vérifier l'existence et la validité du password pour avoir accès a ma page d'accueil....


voici mon code:

<?php
session_start();
include('connexionBD.php');
 if(!$_POST['username'] | !$_POST['password']) 
    {
          do_html_header();
    echo'<h3>Sorry</h3>Vous navez pas rempli un champ obligatoire.';
    die();
    }
  if (!get_magic_quotes_gpc()) 
    {
    $_POST['username'] = addslashes($_POST['username']);
    }
$user_check = $maConnexion->query("SELECT username FROM utilisateur WHERE username = '".$_POST['username']."'");
  if (DB::isError($user_check) || $user_check->numRows() == 0) 
    {
          do_html_header();
    echo'<h3>Sorry</h3>Ce nom dutilisateur nexiste pas dans notre base de données.';
    die();
    }
$pass_check = $maConnexion->query("SELECT password FROM utilisateur WHERE username = '".$_POST['username']."' AND password = '".($_POST['password'])."'"); 
    {
          do_html_header();
    echo'<h3>Sorry</h3>Mot de passe incorrect, veuillez réessayer.';
    die();
    }


$_POST['username'] = stripslashes($_POST['username']);
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
$user_check->closeCursor();
$pass_check->closeCursor();
$maConnexion=null;
echo'Welcome '.$_SESSION['username'];
?>


Bonjour @Jerem971, j'ai bien compris ton message la prochaine fois je ferai plus attention lors de ma prochaine création d'un topic😌

Hello @Francky-C,


Evite les titres en majuscules, un titre court, efficace et en minuscule est suffisant (cf règles) 😉

Bonjour @Francky-C,


Je me suis permis de modifier ton code.


Pour moi, ta connexion à ta BDD fonctionne sinon tu aurais une page blanche avec un message d'erreur.


Dans ta requête SQL j'ai mis 3 points d'interrogation qui correspondent aux valeurs que tu vas passer dans ton execute.


Je suppose que tu as fait un formulaire qui utilise la méthode post pour récupérer les valeurs.


J'ai mis en commentaire ta redirection pour voir si tu obtiens une erreur.


<?php
	try{
		$bdd = new PDO('mysql:host=localhost;dbname=loginpage;charset=utf8', 'root', '');
	}catch(Exception $e){
	  die('Erreur : '.$e->getMessage());
	}

	// Insertion du message à l'aide d'une requête préparée
	$req = $bdd->prepare("INSERT INTO utilisateur (id, usersname, password) VALUES (?, ?, ?)");
	$req->execute(array(NULL, $_POST['username'], $_POST['password']));

	echo $_POST['username'];

 	//header('Location: accueil.htm');
 	//exit;
?>
Cette pub permet au site de vivre ...