Bonjour à tous ! Pardonnez moi de vous embêter à nouveau mais un souci survient encore.
J'ai une "Parse error: syntax error, unexpected '{' in C:\wamp\www\tests\connexion1.php on line 28" sur ce script que je ne comprend pas, si vous pouviez m'aider ça serai super !
<?php
// Connexion à la base de données
try
{
$bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
if (isset($_POST['pseudo']) && ($_POST['mdp']))
{
$req = $bdd -> prepare ('SELECT id,pseudo,mdp FROM espace_membre WHERE pseudo = :pseudo');
$req -> execute (array('pseudo' => $_POST['pseudo']));
$count = $req -> rowCount();
$resultat = $req -> fetch();
if ($count == 1)
{
$mdp = password_verify($_POST['mdp'], $resultat['mdp']);
if(!$resultat)
{
echo 'Pseudo ou mot de passe incorrect';
}
else($mdp)
{
session_start();
$_SESSION['pseudo'] = $_POST['pseudo'];
echo 'Vous etes connecté';
}
}
else
{
echo 'Pseudo ou mot de passe incorrect';
}
}
else
{
echo 'Veuillez saisir vos identifiants';
}
?>
C'est else if ($mdp), pas else ($mdp) ou else tout court.
Il faut revoir la syntaxe de base de PHP ...
Et encore, par rapport à "Pseudo ou mot de passe incorrect", ce serait plutôt if(!$resultat || !$mdp) + else et le if ($count == 1) (+ son else) est inutile puisque redondant avec le test sur $resultat. Ou alors tu as écrit if(!$resultat) à la place de if(!$mdp) au départ.
Bonjour Benyouze, désolé pour l'erreur de forum je m'en suis aperçu après, et merci beaucoup julp, ça à résolu mon problème.
TP espace membre "activer une session
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli