Bonjour,

je voudrais sur ma page de connexion bloquer le membre s'il se trompe dans son mot de passe ,voici une partie du code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
if (empty($_POST['pseudo']) || empty($_POST['password']) ) //Oublie d'un champ
{
	$message = '<p>une erreur s\'est produite pendant votre identification.
	Vous devez remplir tous les champs</p>';
}
else //On check le mot de passe
{
	$query=$db->prepare('SELECT membre_mdp, membre_id, membre_rang, membre_pseudo,token
		FROM forum_membres
		WHERE membre_pseudo = :pseudo');
	$query->bindValue(':pseudo',$_POST['pseudo'], PDO::PARAM_STR);
	$query->execute() or die(print_r($query->errorInfo()));
	$data=$query->fetch();
	if ($data['membre_mdp'] == sha1($_POST['password'])) // Acces OK !
	{
		$message = '<p>Bienvenue '.$data['membre_pseudo'].', 
		vous étes maintenant connecté!</p>
		<p>Cliquez <a href="site.php">ici</a> 
		pour revenir à la page d accueil</p>'; 
	}
	else 
	{
		$time = new DateTime();
		$time= $time->format('Y-m-d H:i:s');
		//Requête
		$query=$db->prepare('INSERT INTO blok (id_blok,time_blok,ip_blok,chiffre)VALUES(:id_blok,:time,:ip_blok,:chiffre+1)
			ON DUPLICATE KEY UPDATE
			chiffre=:chiffre+1');
		$query->bindValue(':id_blok',$_SESSION['id_blok'],PDO::PARAM_INT);
		$query->bindValue(':time',time(), PDO::PARAM_INT);
		$query->bindValue(':ip_blok', $ip_blok, PDO::PARAM_INT);
		$query->bindValue(':chiffre', $chiffre, PDO::PARAM_INT);
		$query->execute();
		$query->CloseCursor();
donc je fais une verif du mdp et si c'est bon il est connecté mais si c'est pas bon je fais une insertion.S'il refait la même bêtise je voudrais faire une mise a jour du temps et du chiffre,je pensais en utilisant ON DUPLICATE KEY UPDATE sa marcherais mais non ou bien je ne sais pas l'utiliser
edit : j'ai enlever une ligne dans la requête car elle a rien a faire la
merci pour votre aide