récuperer le nom d'un utilisateur connecté

Bonjour
Comment récupérer le nom/pseudo de l'utilisateur connecté

Je suis passé par le wiki et je n'ai pas trouvé de fonction .

je voudrais pour ma part afficher le nom de l'utilisateur quand il est connecté
et un lien connexion quand il ne l'est pas dans la sidebar par exemple

Merci d'avance

a+

Réponses

  • pour savoir si l'utilisateur est connecté.
    [== PHP ==]
    
    <?php
     if(isset($_SESSION['user'])) {}
    ?>
    
  • grisbigrisbi Member
    février 2016 modifié
    merci niqnutn ,

    mais ceci est pour un utilisateur dont je connais le nom

    ce que je veux c'est comme sur ce forum j'ai affiché en haut "connecté sous l'identité grisbi"
    pour dire plus simplement que l'utilisateur voit son nom affiché après qu'il soit connecté
  • j'ai peut être trouvé une solution
    ce serait d'utiliser les fonctions de profil.php qui affiche le nom d'utilsateur dans le champ
    [== PHP ==]
    
    <?php plxUtils::printInput('name', plxUtils::strCheck($_profil['name']), 'text', '20-255') ?>
    

    Mais ça ne fonctionne pas

    alors si quelqu'un peut m'aider ?

    merci d'avance

    a+
  • StéphaneStéphane Member, Former PluXml Project Manager
    Salut grisbi

    et voilà
    <?php
    	if(isset($_SESSION['user']) AND !empty($_SESSION['user'])) {
    		if(isset($plxMotor->aUsers[$_SESSION['user']]['name'])) {
    			echo '<p>Connecté sous l\'identité '.plxUtils::strCheck($plxMotor->aUsers[$_SESSION['user']]['name']).'</p>';
    		}
    	}
    ?>
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci Stephane

    ça marche nickel

    t'est vraiement un génie ! j'espère que tu resteras longtemps à la
    tête de ce projet

    a+
  • StéphaneStéphane Member, Former PluXml Project Manager
    Merci :cool:

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Par contre j'ai voulu mettre le resultat dans une variable
    comme je suis nul en php (mais je me soigne) ça marche pas

    j'ai fais çà :
    [== PHP ==]
    $user_connecte ='plxUtils::strCheck($plxMotor->aUsers[$_SESSION['user']]['name'])';
    

    merci a+
  • StéphaneStéphane Member, Former PluXml Project Manager
    $user_connecte = $plxMotor->aUsers[$_SESSION['user']]['name']; 
    

    et c'est au moment de l'affichage que tu utilises plxUtils::strCheck
    echo plxUtils::strCheck($user_connecte);
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Ah! ok

    Je croyais pouvoir faire pour l'affichage quelque chose comme :
    [== PHP ==]
    echo '$user_connecte';
    

    a+
  • StéphaneStéphane Member, Former PluXml Project Manager
    $user_connecte est une variable. si tu fait un echo avec des quotes
    echo '$user_connecte';
    
    ça ne va pas afficher le contenu de la variable mais $user_connecte comme une chaine de caractère. tu verras à l'écran $user_connecte et non pas grisbi

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • oui mais par exemple si je fais çà j'affiche
    le contenu de ma variable ?
    [== PHP ==]
        <?php
        $nom = "LA GLOBULE";
        echo '$nom';
        ?>
    

    a+
  • StéphaneStéphane Member, Former PluXml Project Manager
    Non. Faut écrire
    echo $nom;
    

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Bonsoir,

    pour afficher le contenu de la variable il te faut un
    [== Indéfini ==]
    echo $variable;
    
    et non un
    [== Indéfini ==]
    echo '$variable';
    

    Source.
  • Ok merci sithweb bien compris

    a+
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Quand une chaine de caractères est entourée de guillemets simples ou d'apostrophes, PHP l'affiche bêtement sans chercher à interprêter quoique ce soit.
    Quand une chaîne de caractères est entourée de guillements doubles, PHP affichera le contenu des variables dans la chaine.
    Il existe aussi des chaines de caractères plus sophistiquées pour éviter des empilages de "echo" dans le code PHP, comme Heredoc ou Nowdoc.
    Lire la documentation ici : http://php.net/manual/fr/language.types.string.php
  • grisbigrisbi Member
    Bonojur

    Le code cidessous(suggeré par stéphane et qui fonctionne très bien) affiche le nom
    de l'utilisateur connecté . J'aimerai y mettre des balises <li> <a> afin de creer un menu

    mais je m'y perd dans ces apostrophes,points,parenthèses... donc resultat -> j'obtiens erreur fatale php

    merci

    a+
  • grisbigrisbi Member
    Bonjour a tous

    Le code cidessous(suggeré par stéphane et qui fonctionne très bien) affiche le nom
    de l'utilisateur connecté . J'aimerai y mettre des balises <li> <a> afin de creer un menu
    [== PHP ==]
    <?php
    	if(isset($_SESSION['user']) AND !empty($_SESSION['user'])) {
    		if(isset($plxMotor->aUsers[$_SESSION['user']]['name'])) {
    			echo '<p>Connecté sous l\'identité '.plxUtils::strCheck($plxMotor->aUsers[$_SESSION['user']]['name']).'</p>';
    		}
    	}
    ?>
    

    mais je m'y perd dans ces apostrophes,points,parenthèses... donc resultat -> j'obtiens erreur fatale php

    merci

    a+
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Tu ne précises pas dans la partie du site où tu veux afficher le nom de l'utilisateur (back-office/ admin ou front-end/partie publique)
    Pour le backoffice, cela s'affiche déjà. Cela se passe dans le fichier core/admin/top.php vers la ligne 50.
    Sinon pour la partie publique, il faut insérer le code que t'as donné Stéphane dans le fichier sidebar.php de ton thème.
    Je ne comprends pas l'intérêt de mettre cela dans un menu.

    Mais cela ressemble à quelque chose comme cela :
    [== PHP ==]
    <ul>
    <li><a href="http://personnages-disney.com/Page%20Alice%20au%20Pays%20des%20Merveilles.html">Alice</a></li>
    <?php
    	if(isset($_SESSION['user']) AND !empty($_SESSION['user'])) {
    		if(isset($plxMotor->aUsers[$_SESSION['user']]['name'])) { ?>
    <li><a href="http://www.site-2.html>Connecté sous l'identité <?php echo plxUtils::strCheck($plxMotor->aUsers[$_SESSION['user']]['name']) ?>.</a></li>
    <?php }
    	}
    ?>
    <li><a href="http://claude.sartirano.pagesperso-orange.fr/">Pinocchio</a></li>
    </ul>
    
  • grisbigrisbi Member
    mars 2016 modifié
    Salut Bazooka07
    merci de ton aide
    l'affichage c'est dans le header en front-end
    si l'utilisateur n'est pas connecte j'ai un lien "connexion"
    sinon si l'utilisateur est connecté :
    tout en haut a droite j'ai le nom de l'utilisateur quand je clique dessus j'ai une liste deroulante avec :

    - un lien deconnexion
    - un lien page profil
    - etc
    je voudrais eviter la balise select qui est limitee en possibilites css

    en y reflechissant je pense devoir creer une balise form pour le traitement des données

    quel est ton avis ?

    je vais faire un test avec ton exemple fin de de semaine (je pourrais pas avant)

    a+
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mars 2016 modifié
    Tu seras certainement obligé d'utiliser une balise form pour saisir l'identifiant et le mot de passe de l'utilisateur. Une fois connecté, il ne restera dans le form qu'un bouton pour se déconnecter et pour visiter son profil.
  • grisbigrisbi Member
    Question :

    y a t'il des fonctions prédéfinies dans pluxml pour la création et le
    traitement de formulaires
    ou alors faut il utiliser la methide classique du style if ($post ....

    merci

    a+
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mars 2016 modifié
Connectez-vous ou Inscrivez-vous pour répondre.