[RESOLU] soucis avec password_verify

Eléphanteau du PHP | 23 Messages

27 avr. 2015, 18:35

Merci Ryle, grâce à toi cela fonctionne avec ta première solution.

Par contre, si le mot de passe est incorrect il ne m'affiche plus le message d'erreur.
Voici le code :
if (password_verify($passe_admin, $verif['mdp']) == true)
			{
				
				header('Location: aze/index.php');
				
			}
			else
			{
				echo 'Mot de passe incorrect.';
				header('Location: index.php');
				exit;
				
			}

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

27 avr. 2015, 18:57

Bonjour,

C'est normal, dès que tu appelles un header('location...') ça fait la redirection, il ne doit pas y avoir de echo avant, ni après.
Si tu veux afficher un message 2 solutions :
- soit tu affiches ton message avec un lien et une redirection en javascript après quelques secondes à la place de ton header('location...')
- soit tu passes un paramètre à ta page index.php qui affichera un message d'erreur si elle voit le paramètre en question.
Par exemple :
header('Location: index.php?error=mdp');
et dans ta page index.php
<html>
<!-- ... ton code HTML ... -->
<?php
if ($_GET['error']==='mdp') print "<h3>Erreur : Mot de passe incorrect !</h3>";
?>
<!-- ... la suite de ton code HTML ... -->


Par ailleurs, je te recommande fortement pour éviter les erreurs de mettre après chaque header('location...') un appel à la fonction exit; pour être sûr de ne plus rien exécuter ensuite et que la redirection se passe bien :
header('Location: aze/index.php');
exit;
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 23 Messages

27 avr. 2015, 19:02

Le problème est résolu. Merci à tous ceux qui ont prit le temps de me proposer des solutions.

RÉSOLU.