Bonjour a tous,
aujourd'hui je viens vers vous pour un petit soucis avec la fonction setcookie de php.
une chose peut étre importante a dire est que j'ai une architecture qui se rapproche beaucoup de celle de grafikart ( décomposer un site avec ob_start ).
J'ai un formulaire de connexion en ajax qui comprend :
La page default.php :
<div class="slide-login">
<div class="extend extend-login"></div>
<div class="errors-login"></div>
<form action="<?= ROOT; ?>pages/traitementAjax/connexion_ajax.php" method="post" id="form-connexion">
<input type="text" name="l-email" placeholder="Adresse e-mail">
<input type="password" name="l-password" placeholder="Mot de passe">
<div class="cadenas"></div>
<input type="hidden" name="l-redirect" value="<?= ROOT; ?>users/profil">
<p><a href="#">Mot de passe oublié ?</a></p>
<input type="checkbox" name="souvenir"><p class="souvenir">Se souvenir de moi</p>
<input type="submit" name="l-submit" value="Se connecter">
</form>
</div>
La page connexion_ajax.php :
<?php
$db = \MineCrown\App::getDatabase();
$app = new \MineCrown\App();
$session = new \MineCrown\Session();
$auth = new \MineCrown\Auth($db,$app,$session);
$validator = new \MineCrown\Validform($_POST,$db,$app);
if(isset($_POST['remember'])){
setcookie("user_id", 10, time() + 60);
}
if($validator->isEmpty('email')){
$erreur = 'E-mail ou mot de passe incorrect !';
}
if($validator->isEmpty('password')){
$erreur = 'E-mail ou mot de passe incorrect !';
}
if($auth->isActif($_POST['email'])){
$erreur = 'Ce compte n\'a pas été valider par e-mail !';
}
if($auth->login($_POST['email'],$_POST['password']) == false){
$erreur = 'E-mail ou mot de passe incorrect !';
}
if(!isset($erreur)){
echo 'noErreur';
}else{
echo $erreur;
}
?>
et la page connexion.ajax.js :
$(document).ready(function(){
$('#form-connexion').submit(function(){
email = $(this).find('input[name=l-email]').val();
password = $(this).find('input[name=l-password]').val();
redirect = $(this).find('input[name=l-redirect]').val();
remember = $(this).find('input:checkbox:checked').val();
url = $(this).attr('action');
$.post(url,{
email: email,
password: password,
remember: remember
},function(data){
if(data == 'noErreur'){
window.location.href=redirect;
}else{
$('.errors-login').html(data).slideDown(400);
}
});
return false;
});
});
J'ai l'impression que ma fonction setcookie ne fonctionne pas. J'ai mis un $_SESSION pour testé et dans ce cas j'ai bien la réponse, mais au niveau des cookies impossible de les faire fonctionner.
Merci d'avance de votre aide et bonne journée.