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.

Aucune réponse