Joomla.it Forum
Componenti per Joomla! => Gestione utenti e community => : Alhazred 11 Mar 2009, 13:13:29
-
Ho un sito in Joomla 1.5, adesso dovrei realizzare una parte scritta da me in PHP.
Il link a quest'area sarà visibile solo agli utenti che effettuano il login gestito dal modulo standard di Joomla.
In questa parte di sito creata da me ho la necessità di sapere il nome utente di chi ha fatto l'accesso in modo da gestire di conseguenza alcune tabelle del DB che aggiungerò io.
Come posso prendere questa informazione?
-
Sposto il topic nella sezione adatta.
-
Mi scuso per l'errore di sezione.
Per quanto riguarda il mio problema, suppongo che al momento del login venga messa in sessione una qualche variabile che contiene il nome utente utilizzato per il login, se così fosse, come faccio a sapere come si chiama questa variabile?
-
scrivi un componente, è la soluzione migliore e più veloce ;)
-
Ok, sto scrivendo il componente, è la mia prima esperienza in una cosa simile e sto andando piano piano.
Ora mi trovo comunque a dover sapere l'username dell'utente che ha effettuato il login per potermi muovere tra le tabelle del mio componente.
Joomla, al momento del login, metterà questo username in una qualche variabile in sessione, giusto? Come prendo questa variabile? Come si chiama?
-
http://forum.joomla.it/index.php/topic,50570.msg218547/topicseen.html#new
-
A creare il componente vado troppo lentamente e non ho molto tempo per realizzare questa applicazione, penso mi convenga per ora farla come applicazione esterna e cercare di integrarla con Joomla, poi magari una volta che sarà funzionante mi dedicherò a creare il componente con più calma e lo sostituirò.
Ho trovato questo thread (http://forum.joomla.org/viewtopic.php?f=126&t=270274) in cui è spiegato esattamente ciò che mi serve, ovvero prendere da una pagina php esterna i dati di un utente che ha fatto il login in Joomla, ma si riferisce a J1.0 e non funziona a dovere su J1.5.
In particolare sto usando la soluzione proposta nell'ultimo post, questa soluzione mi permette di ottenere tutti i dati, ma oltre a questi, in output, ho anche 2 warning:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\prova.php:9) in C:\xampp\htdocs\libraries\joomla\session\session.php on line 423
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\prova.php:9) in C:\xampp\htdocs\libraries\joomla\session\session.php on line 426
Alhazred
Your name is Mionome Miocognome, your email is testemail@testemail.com, and your username is Alhazred
Your usertype is Super Administrator which has a group id of 25.
Come faccio ad evitare che appaiano questi warning?
-
ad inizio dello script inserisci:
<?php
ob_start();
?>
-
Fatto, ma gli warning restano.
-
ovviamente dev'essere in testa allo script, ma se lo script è richiamato in altre pagine che inviano header prima della chiamata al buffer tutto va in macello...sei sicuro che non vengano inviati headers prima?
-
Il problema è che non conosco quasi per nulla il funzionamento interno di Joomla, quindi non so risponderti.
In pratica quello che ho fatto è questo:
ho messo in un menu della home page un link a questa mia pagina che sto scrivendo, il link è di tipo Wrapper.
Il link è visibile solo dopo aver effettuato il login.
L'istruzione che genera i 2 warning è questa:
$mainframe =& JFactory::getApplication('site');
-
Bah, che fesso che sono... invece di lasciare solo lo script nel file avevo di nuovo la dichiarazione
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
ecc, ecc...
Ho risolto.
Grazie per il tempo dedicatomi.
-
Bah, che fesso che sono... invece di lasciare solo lo script nel file avevo di nuovo la dichiarazione
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
ecc, ecc...
Ho risolto.
Grazie per il tempo dedicatomi.
;)