Potrzebuję nazwy sesji w joomli aby rozpoznać użytkownika w projektowanym module. Chodzi mi dokładniej o to że chcę napisać moduł który rozpozna zalogowanego użytkownika i pokaże mu zawartość jego katalogu.
Potrzebuję nazwy sesji w joomli aby rozpoznać użytkownika w projektowanym module. Chodzi mi dokładniej o to że chcę napisać moduł który rozpozna zalogowanego użytkownika i pokaże mu zawartość jego katalogu.
Magiczne słowo to getUser ; )
Polecam docs.joomla.org
Webdeveloper do usług ;)
A po co ci nazwa sesji?
To nie wystarczy?
//@moje Cześć! (szybszy byłeś )Kod PHP:
$user =& JFactory::getUser();
$user->get('id');
http://api.joomla.org/Joomla-Framewo...TableUser.html
Ostanio edytowane przez palyga007 : 08-06-2011 16:05
---------------------------------------------------------------------------------------------
"Nie chowaj nienawiści po wieczne czasy, ty, który sam nie jesteś wieczny."
Przyjmę ofertę pracy w Australii...
web-coder.pl
Nie wiem gdzie robię błąd bo nie działa. Poniżej wstawiam pełny kod który powinien wyświetlić login.
Kod PHP:
<?php
defined('_JEXEC') or die;
$user =& JFactory::getUser();
$user->get('id');
echo "Login to: $user";
?>
Kod PHP:
"Login to: $user";
Webdeveloper do usług ;)
Skleciłem plik test.php i wrzuciłem do niego taki kod który jest poniżej. Wszytko działa, tylko dwa pytania czy musi być tyle tego szajsu inkludowane na początku czy da się to jakoś jeszcze poobcinać?
i czy jeśli bym użył modułu do wklejania kodu php wystarczy tylko to:Kod PHP:
<?php
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
if (file_exists(dirname(__FILE__) . '/defines.php')) {
include_once dirname(__FILE__) . '/defines.php';
}
if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__FILE__));
require_once JPATH_BASE.'/includes/defines.php';
}
require_once JPATH_BASE.'/includes/framework.php';
// Instantiate the application.
$app = JFactory::getApplication('site');
$user =& JFactory::getUser();
if (!$user->guest) {
echo 'Jesteś zalogowany jako:<br />';
echo 'Nazwa użytkownika: ' . $user->username . '<br />';
echo 'Login: ' . $user->name . '<br />';
echo 'ID użytkownika : ' . $user->id . '<br />';
}
?>
Kod PHP:
<?php
$user =& JFactory::getUser();
if (!$user->guest) {
echo 'Jesteś zalogowany jako:<br />';
echo 'Nazwa użytkownika: ' . $user->username . '<br />';
echo 'Login: ' . $user->name . '<br />';
echo 'ID użytkownika : ' . $user->id . '<br />';
}
?>
Jak robisz test i nie jest to komponent/moduł/dodatek/szablon, to musi być dużo tego syfu.
Nie zapomnij o dodaniu w Twoim dziele:
Kod PHP:
defined( '_JEXEC' ) or die( 'Restricted access' );
Webdeveloper do usług ;)
Dzienx za wszystkie pomocne klawiaturowe dłonie Tylko pytanie do "moje" dlaczego dodanie tego kodu jest takie ważne? Po co on jest?
Przetłumacz sobie drugi czerwony tekst, to Cie naprowadzi na odpowiedź ; )
Webdeveloper do usług ;)
Co to znaczy to wiem, tylko kopiowałem kod z joomli i nie mieli tego dodane. Oryginalny kod to:
Ale nieważne bo i tak dodałem kod do modułu do wklejania php i wszystko śmiga jak tralala, a powyższy kod jest zapisany w pliku index.php oryginalnie to nie chce poprawiać joomlowcówKod PHP:
define('_JEXEC', 1) ;
Jak by ktoś potrzebował wyświetlić sesje to podaje kod:
Tak też można sprawdzić co za użytkownik jest zalogowany a potem tylko dopisac kod sprawdzający jaki to użytkownik się u nas zalogowałKod PHP:
<?php print_r($_SESSION); ?>