Souvenir de moi
Résolu
Chooper01
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Voila je voudrais mettre un bouton Se souvenir de moi, les Cookies reste quand je me deco du site mais lorsque je retourne sur l’accueil je suis toujours pas connecté .. je vous mets mon code
Connexion :
Souvenirdemoi:
Deco:
Voila ah oui dans toutes les pages j'ai rajouté en dessous de la bdd cette ligne :
Voila je voudrais mettre un bouton Se souvenir de moi, les Cookies reste quand je me deco du site mais lorsque je retourne sur l’accueil je suis toujours pas connecté .. je vous mets mon code
Connexion :
<?php
session_start()
?>
<?php
try
{
$bdd = new PDO("mysql:host=localhost;dbname=cuisine;charset=utf8", "**", "**", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
} catch (PDOException $e)
{
echo 'Echec de la connexion : ' . $e->getMessage();
exit;
include_once['svndemoi.php'];
}
if (isset($_POST['formconnect']))
{
$pseudoconnect = htmlspecialchars($_POST['pseudoconnect']);
$mdpconnect = sha1($_POST['mdpconnect']);
if (!empty($pseudoconnect) AND !empty($mdpconnect))
{
$requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND mdp = ? ") ;
$requser->execute(array($pseudoconnect, $mdpconnect)) ;
$userexist = $requser->rowcount() ;
if($userexist == 1)
{
if (isset($_POST['souvenirmoi']))
{
setcookie('pseudoconnect',$pseudoconnect,time()+365*24*3600,null,null,false,true);
setcookie('mdpconnect',$mdpconnect,time()+365*24*3600,null,null,false,true);
}
$confirm = $bdd->prepare("SELECT confirm FROM membres WHERE pseudo = ? ") ;
$confirm->execute(array($pseudoconnect));
$confirm->rowcount();
$confirm2 = $confirm->fetch() ;
if ($confirm2['confirm'] == 1)
{
$userinfo = $requser->fetch();
$_SESSION['id'] = $userinfo['id'] ;
$_SESSION['pseudo'] = $userinfo['pseudo'] ;
$_SESSION['email'] = $userinfo['email'] ;
header("Location: index.php");
}
Souvenirdemoi:
<?php
if (!isset($_SESSION['id']) AND isset($_COKKIE['pseudoconnect'], $_COKKIE['mdpconnect']))
{
$requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND mdp = ? ") ;
$requser->execute(array($_COOKIE['pseudoconnect'], $_COOKIE['mdpconnect'])) ;
$userexist = $requser->rowcount() ;
if($userexist == 1)
{
$confirm = $bdd->prepare("SELECT confirm FROM membres WHERE pseudo = ? ") ;
$confirm->execute(array($pseudoconnect));
$confirm->rowcount();
$confirm2 = $confirm->fetch() ;
if ($confirm2['confirm'] == 1)
{
$userinfo = $requser->fetch();
$_SESSION['id'] = $userinfo['id'] ;
$_SESSION['pseudo'] = $userinfo['pseudo'] ;
$_SESSION['email'] = $userinfo['email'] ;
}
}
}
?>
Deco:
<?php
session_start();
setcookie('pseudoconnect','',time-3600);
setcookie('mdpconnect','',time-3600);
session_destroy();
header("Location: connexion.php");
?>
<?php
try
{
$bdd = new PDO("mysql:host=localhost;dbname=cuisine;charset=utf8", "**", "**", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
} catch (PDOException $e)
{
echo 'Echec de la connexion : ' . $e->getMessage();
exit;
}
?>
Voila ah oui dans toutes les pages j'ai rajouté en dessous de la bdd cette ligne :
include_once['svndemoi.php'];
3 réponses
-
Bonjour,
1 -
catch (PDOException $e)
{
echo 'Echec de la connexion : ' . $e->getMessage();
exit;
include_once['svndemoi.php'];
}
Tout ce qui se trouve APRES un EXIT ... ben... ne se fait pas !
2 - Les cookies peuvent être gérés aussi par le navigateur... ne l'as tu pas paramétré pour les supprimer automatiquement lorsque tu le fermes ?
3 - Ajoutes donc un peu de debug
déjà.. un print_r($_COOKIE); pour voir quels cookies sont dispos dans ton navigateur
4 - Evite d'ouvrir/fermer des balises PHP inutilement....
par exemple
</code>
<?php
session_start()
?>
<?php
try
{</code>
les :?> <?php
sont en trop......
5 - Active l'affichage des erreurs PHPerror_reporting(E_ALL);
Ainsi que la gestion des erreurs PDO :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Une fois que tout ça sera fait.... si tu ne trouves toujours pas ton erreur... reviens nous voir avec ton code modifié.
-
Voila sa me mets une erreur :

<?php
try
{
$bdd = new PDO("mysql:host=localhost;dbname=cuisine;charset=utf8", "****", "**", array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
include_once['svndemoi.php'];
} catch (PDOException $e)
{
echo 'Echec de la connexion : ' . $e->getMessage();
exit;
}
la ligne 8 =include_once['svndemoi.php'];
-
Ah oui juste bah toujours rien ..
Deso d'avance j'ai du mal à comprendre ^^