Joomla.it Forum

Non solo Joomla... => Sviluppo => : Bagnarea 16 Mar 2010, 10:47:35

: Recuperare l'utente Autenticato
: Bagnarea 16 Mar 2010, 10:47:35
Salve a tutti,
dovrei creare una pagina in PHP, richiamata tramite un link, che compie determinate operazione in base all'utente loggato. Qualcuno mi sa dire come recuperare tali informazioni(l'utente) in joomla? Quali librerie devo includere?

Grazie
Mille
: Re:Recuperare l'utente Autenticato
: Bobbix 16 Mar 2010, 10:56:57
Io ho usato questo codice:

:
<?php
$user JFactory::getUser();
$username $user->username;
$id $user->id;
$name $user->name;
?>


Per inserire il codice sopra riportato all'interno di un articolo joomla, ho usato JUMI mi pare (che consente di inserire tuo codice in un normale articolo).

Poi ho inviato i dati ad un'applicazione esterna (nel mio caso è stato così, nel tuo non saprei), utilizzando un form con metodo post e i campi in hidden.
Poi la pagina che riceve i dati, li preleva in post e poi fa quello che deve fare...

Ciao.


: Re:Recuperare l'utente Autenticato
: Bagnarea 18 Mar 2010, 18:35:07
Grazie Mille!
: Re:Recuperare l'utente Autenticato
: simonDekkers 29 Mar 2010, 22:47:45
Io ho usato questo codice:

:
<?php
$user JFactory::getUser();
$username $user->username;
$id $user->id;
$name $user->name;
?>


Per inserire il codice sopra riportato all'interno di un articolo joomla, ho usato JUMI mi pare (che consente di inserire tuo codice in un normale articolo).

Poi ho inviato i dati ad un'applicazione esterna (nel mio caso è stato così, nel tuo non saprei), utilizzando un form con metodo post e i campi in hidden.
Poi la pagina che riceve i dati, li preleva in post e poi fa quello che deve fare...

Ciao.



io ho provato le righe di codice e farle stampare con una echo ma non stampa nulla... devo mica includere qualcosa?
: Re:Recuperare l'utente Autenticato
: mmleoni 30 Mar 2010, 09:18:55
ciao simonDekkers,
 sono quelle linee che debbono essere incluse all'interno di un template o di un altro file processato da joomla: componente/modulo/plugin.

ciao,
marco
: Re:Recuperare l'utente Autenticato
: simonDekkers 30 Mar 2010, 12:11:17
ho provato ad importare:
// no direct access
defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.component');

ma nn risponde al metodo ::getuser()

potreste specificarmi le righe di codice da includere?grazie mille...
: Re:Recuperare l'utente Autenticato
: mmleoni 30 Mar 2010, 12:58:18
ma dove è che vorresti mettere queste linee? non puoi metterle al di fuori del framework di joomla! (non ti bastano degli include)

ciao,
marco
: Re:Recuperare l'utente Autenticato
: simonDekkers 30 Mar 2010, 14:14:27
dentro al custum script del componente jumi
perche' devo riuscire a salvare l'id dell utente corrente che clicca sull articolo che richiama il componente jumi...
id mi serve per fare delle query a delle tabelle...
come posso memorizare l'id dell utente...grazie
: Re:Recuperare l'utente Autenticato
: simonDekkers 30 Mar 2010, 14:36:04
Risolto il mio problema...scusate il disturbo.
Ha funzionato il codice di bobbix senza includere niente:
:
<?php
   $user 
JFactory::getUser();
   
$username $user->username;
   
$id $user->id;
   
$name $user->name;
?>

: Re:Recuperare l'utente Autenticato
: supermix 09 Apr 2010, 19:33:34
ho scritto così in un artocolo senza formattazione...

:
<?php
 $user 
JFactory::getUser();   
 
$username $user->username;   
 
$id $user->id;   
 
$name $user->name;?>


<? php
 echo $user $username $id $name
?>

come mai non funziona? ma devo scrivere

:
<?php
 $user 
JFactory::getUser();   
 
$username $user->username;   
 
$id $user->id;   
 
$name $user->name;?>

nel template sopra il tag body????
: Re:Recuperare l'utente Autenticato
: supermix 09 Apr 2010, 21:43:31
dunque ho fatto delle prove con juni ....

se creo con jumi una cosa del genere

:
<?php
if ($user->name == '')
 echo 
"unknown, not logged, friend";
else
 echo 
$user->name;
?>

e poi creo una nuova voce del menu e gli do come tipi jumi e mando il link a quello che ho appena creato lo script funziona

se lo stesso script lo metto in jumi come componente no

se lo stesso lo includo nel template non funziona
se lo includo in un articolo (scritto senza formattazione non funziona)

ma potrebbe essere un problema del modulo di login?
: Re:Recuperare l'utente Autenticato
: mmleoni 11 Apr 2010, 21:01:21
ciao,
  mi sa che hai dimenticato $user = JFactory::getUser();   

: Re:Recuperare l'utente Autenticato
: supermix 13 Apr 2010, 20:57:20
ma come mai se lo scrivo nell'articolo senza formattazione quando faccio applica o salva me lo cancella?
: Re:Recuperare l'utente Autenticato
: mmleoni 13 Apr 2010, 21:14:14
molto probabilmente dipende dalle impostazioni dell'editor.

ciao.
: Re:Recuperare l'utente Autenticato
: supermix 13 Apr 2010, 21:32:51
si ma la cosa che non capisco è che se lo modifico dal database lo salva ma poi non lo visualizza
: Re:Recuperare l'utente Autenticato
: 56francesco 14 Apr 2010, 11:41:57
utilizzare il tag code...
grazie
: Re:Recuperare l'utente Autenticato
: supermix 15 Apr 2010, 23:10:19
se intendi <code></code> non funziona!
: Re:Recuperare l'utente Autenticato
: petrella 28 Apr 2010, 17:35:36
Ho anche io la necessità di recuperare l'id dell'utente logato. Credo che il codice utilizzato sia corretto ma ho un problema, la mia index si trova in una sottocartella e credo che sia questo il motivo per cui il codice non funziona.
Io uso apache, nella cartella htdocs ho la cartella di joomla, ora la mia index si trova in joomla/templates/mio_template/index.php.
E' possibile che il codice non funzioni perchè da tale posizione la index non vede la corretta JPATH_BASE? Come potrei modificarlo?

Codice:
:
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__) );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
require('libraries/joomla/factory.php');
// initialize the application
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
$user =& JFactory::getUser();
$user->get('id');