Bonjour,

Je suis bloquer quand l'utilisateur se connecte a mon site internet j'aimerai que sa lui marque Bonjour : Identifiant mai je ne sais pas comment faire la requête PDO pourriez vous m'aidez merci !.

13 réponses


Gyuki
Réponse acceptée

Bonjour,

Le moyens le plus simple, c'est au moment de la connexion, tu enregistre en session $_SESSION'Identifiant'] l'identifiant de la personne qui se connecte.
Ensuite tu affiche la variable avec un echo.

Donc au moment ou tu test le login et le mot de passe, tu récupère l'identifiant.

pcinfo-72
Auteur
Réponse acceptée

Donc j'ai bien faits toute les démarches le seul bémole c'est quand résultat j'ai une lettre R qui apparaît dans l'input text ! J'ai donc enlever certaine balise pour que sa soit moin le bazard !

index.php
=============================================>

<?php
session_start();
require ('auth.php');
require_once 'cnx.php';
?>
<?php
if(!empty($_POST)){
    $identifiant = $_POST'identifiant'];
    $passe = md5($_POST'passe']);
    $q = array('identifiant'=>$identifiant, 'passe'=>$passe);
    $sql = 'SELECT identifiant,passe FROM me_utilisateur WHERE identifiant = :identifiant AND passe = :passe';
    $req = $cnx->prepare($sql);
    $req->execute($q);
    $count = $req->rowCount($sql);
    if($count == 1){
        //Verifier si l'utilisateur est actif
        $sql = 'SELECT identifiant,passe FROM me_utilisateur WHERE identifiant = :identifiant AND passe = :passe AND etat = 1';
        $req = $cnx->prepare($sql);
        $req->execute($q);
        $actif = $req->rowCount($sql);
        if($actif == 1){
            $_SESSION'Auth'] = array(
                'identifiant' => $identifiant,
                'passe' => $passe,
            );
            $_SESSION'user'] = $row;
             $_SESSION'identifiant'] = $row;
            header('Location:private.php');
        }else{
            $error_actif = 'Votre compte n\'est pas actif ! Verifier vos mails pour activer votre compte !';
        }
    }else{
        //Si utilisateur inconnu
        $error_unknown = 'Utilisateur inexistant !';
    }

}
?>

Private.php
===============================

<?php
session_start();
require ('auth.php');
require_once 'cnx.php';²
?>
<?php 

    // At the top of the page we check to see whether the user is logged in or not 
    if(empty($_SESSION'user'])) 
    { 
        // If they are not, we redirect them to the login page. 
        header("Location: index.php"); 

        // Remember that this die statement is absolutely critical. Without it, 
        // people can view your members-only content without logging in. 
        die("Redirecting to login.php"); 
    } 

    // Everything below this point in the file is secured by the login system 

    // We can display the user's username to them by reading it from the session array. Remember that because 
    // a username is user submitted content we must use htmlentities on it before displaying it to the user. 
?> 
<input id="appendedInputButton" value="<?php echo ($_SESSION'user']'identifiant']); ?>" type="text">
Benjamin Derepas
Réponse acceptée
$_SESSION'user']'identifiant']

D'où sors tu cette valeur ?

Dans ta page de traitement je vois uniquement ça :

$_SESSION'user'] = $row;
$_SESSION'identifiant'] = $row;
Benjamin Derepas
Réponse acceptée

u>derepas.benjamin@gmail.com</u
Envois moi ton dossier de travail (ainsi que le .sql de ta table).
Je vais te le corriger en te montrant tes erreurs , le tout commenté pour que tu comprennes mieux .

Cordialement

Benjamin Derepas
Réponse acceptée

Dans index.php :

if($actif == 1){
$_SESSION'identifiant'] = $identifiant;
header('Location:private.php');
}

Dans ton private :

if(!empty($_SESSION'identifiant']))
{
   echo ' <input id="appendedInputButton" value="'.$_SESSION'identifiant'].'" type="text">';
}
else{
header('Location:index.php');
}

Tout simplement

Benjamin Derepas
Réponse acceptée

En bref, si l'utilisateur est actif et connecté, tu remplis la variable $_SESSION de ses informations.
Ainsi, pour protéger une page, tu dois juste vérifier la présence de ces informations

pcinfo-72
Auteur
Réponse acceptée

Merci beaucoup sa marche a merveille et admettons que

<input id="appendedInputButton" value="'.$_SESSION'identifiant'].'" type="text">

je veut le transformer en sa

<input id="appendedInputButton" value="'.$_SESSION'email'].'" type="text">

Je ne crée pas de champ e-mail juste à ràjoutée ceci

if($actif == 1){
$_SESSION'identifiant'] = $identifiant;
$_SESSION'email'] = $email;
header('Location:private.php');
}

Et par exemple voila je retourne a l'index avec mon compte connecter j'aimerais que les bouton inscription et d'autre disparaisse lors ce que je suis connecter et réaparaîsse quand je ne suis plus connecter au site internet comment puis-je faire merci de ta réponse.

Benjamin Derepas
Réponse acceptée
<?php if(isset($_SESSION'identifiant'])):?>
<a href="logout">Se déconnecter</a> <span>Bonjour <?= $_SESSION'identifiant'];?>
<?php else:?>
<a href="login.php">Se connecter</a> <a href="register.php">Créer un compte</a>
<?php endif;?>

En bref si les sessions sont remplies, c'est que l'utilisateur est connecté . Sinon, on lui propose de se connecter ou de créer un compte

ps : <?= $variable;?> est pareil que <?php echo $variable;?> . Tu dois juste vérifier si le "short tag" est activé sur ton serveur / framework

pcinfo-72
Auteur
Réponse acceptée

Je pence ne pas fermer cette demande sa peut aidez beaucoup de monde qui ne connaisse pas le PDO !.

$_SESSION'user'] = $row;
$_SESSION'identifiant'] = $row;

J'ai éditer cette valeur qui n'est pas la bonne mai je coince toujours je n'arrive pas a afficher l'identifiant dans l'input text la valeur et r au lieu de l'identifiant !

Pour cette valeur

$_SESSION'user']'identifiant']

je la sort d'internet mai je men sort pas !

C'est peut être mon cerveau qui me joue des tours, mais la valeur que tu veux afficher n'existe pas ...

$_SESSION'user']'identifiant']

En aucun cas tu as définie cette variable ...
Tu as un tableau user, et un tableau identifiant certes, mais séparés les uns des autres ...

Ta réponse ne m'aide gère aurait tu a la solution à ce problème !. Je suis débutant en PDO

voila je le projet a été envoyer a ton adresse email merci pour ton aide j'attant ta réponse avec impatiente :) !.

J'ai oublier de tenvoyer le .sql avec je te renvoie un .zip comportent la table !.

Si tu pouvais me joindre avec mon projet le code pour ne pas que mes membre aille sur la page d'inscription si il sont connecter merci