Obtenir actuellement enregistré dans TYPO3 Utilisateur (fe-utilisateur)
D'habitude je suis pas quelqu'un qui poste sur un forum, car j'ai toujours été en mesure de trouver quelque chose sans déranger personne. De toute façon, cette fois, j'ai pas eu de chance.
J'ai programmé un DB-Communications-Système pour mon site web, où vous pouvez laisser des messages pour le reste de la famille à partir d'une application Java, une application Android et le site lui-même.
Sur ce site vous vous connectez par l'intermédiaire d'un fe_user masque d'ouverture de session et puis vous pouvez accéder au formulaire. Ici, j'ai une liste déroulante de sélection "à Partir de" et une liste déroulante de sélection "Pour" où il y a les noms de la famille de choisir. Ce que je veux, c'est pour la page pour lire l'utilisateur actuellement connecté et de définir automatiquement le 'De' Variable en fonction de cet utilisateur.
Sur de nombreuses pages, j'ai trouvé
$GLOBALS['TSFE']->fe_user->user
et selon des variantes, mais pas n'importe comment j'ai essayé d'obtenir quelque chose hors de lui,
strleng()
est toujours 0,
print_r($_GLOBALS['TSFE'])
est toujours vide
et l'ensemble de la baie est également vide.
Ce que je fais mal? Dois-je faire quelque chose avant que je puisse accéder à ces variables?
Aussi, dans certains cas, il ne marche pas reconnaître cet objet et au lieu de l'interprétation de la variable, il dit seulement
"->fe_user->user"
sur le site.
Merci beaucoup
- avez-vous écrire une Extension? Vous essayez d'accéder via TypoScript? plus d'information serait utile. t3lib_div::debug($GLOBALS['TSFE']->fe_user, 'l'utilisateur de l'objet, si il n'y a aucun");
- Comment voulez-vous créer votre formulaire? Comment avez-vous d'inclure votre PHP? Je Suppose qu'il n'est pas nécessaire d'écrire du Code PHP à l'archive de ce que vous voulez faire. Utiliser TYPO3 à la place:)
- Le formulaire est un Formulaire HTML qui était censé POSTER les variables de PHP
Vous devez vous connecter pour publier un commentaire.
vous devriez essayer
$GLOBALS['TSFE']
et pas$_GLOBALS['TSFE']
donc
$GLOBALS['TSFE']->fe_user->user
est absolument correct de vérifier pour un utilisateur connectéAdditif 2019-08-15:
En fonction de ce que vous essayez d'atteindre ou de ce que l'information exacte que vous cherchez et ce que la version de TYPO3 votre aide, il ya différentes façons d'utiliser cette variable.
Par exemple pour assurer le courant de l'utilisateur est authentifié avec votre TYPO3, vous pouvez récupérer son ID par
$GLOBALS['TSFE']->fe_user->user
pouvez également stocker les données de session à partir de n'êtes pas connecté FE utilisateurs. Comme Mihir Bhatt suggère l'utilisation$GLOBALS['TSFE']->fe_user->user['uid'];
pour être sûr à 100%.Si vous avez besoin pour obtenir de l'utilisateur connecté de TypoScript (et peut-être remplacer le marqueur) cet extrait de TS peut être utile:
Ce sera le retour de l'id de la session courante de l'utilisateur
Installer l'extension kickstarter et de créer un frontend-plugin pour votre propre. Vous obtiendrez un formulaire simple exemple. De là, vous pouvez utiliser $GLOBALS['TSFE'] etc. (Cochez la case "Par défaut les plugins sont générés en tant que cachable UTILISATEUR cObjects. Cochez cette case pour générer un cache USER_INT cObject." lors de la création de votre interface plugin!)
C'est old school, de démarrer les extensions, mais je suppose que dans votre cas le moyen le plus rapide et le plus simple de solv votre problème.
@Halest et il y a la vulnérabilité d'injection sql
Par la voie, ne faites jamais confiance aux cookies. Ils peuvent être modifiés ou même éteint.
Essayez d'utiliser plus de $GLOBALS['DB'] pour interagir avec la base de données.
Ce sera le retour de toutes les données de fe_user table. vous pouvez obtenir ce que vous souhaitez.
si vous avez besoin de l'utilisateur en t3:
Vous pouvez utiliser l'extension powermail pour créer votre formulaire et enregistrer les données dans une table de base de données (autant que je sache, la table doit a au moins les champs uid et pid).