Back to top

Autore Topic: Recuperare username utente  (Letto 7146 volte)

Offline Ermindo

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Recuperare username utente
« il: 14 Nov 2010, 11:21:22 »
Salve,
ho una necessità!

Ho realizzato un form per l'inserimento dati che viene utilizzato da più utenti.
L'accesso al form di inserimento è consentito solo agli utenti registrati e che "ovviamente" eseguono la login.
Le pagine .php create sono pubblicate nel sito attraverso il modulo "wrapper".
Ho la necessità di recuperare lo $user dell'utente loggato e di memorizzarlo nel relativo record in modo da monitorare l'inserimento dei dati eseguito degli utenti.
Come faccio a recuperare il valore della variabile $user??

Ho già eseguito delle ricerche relative a questo argomento su questo forum, ed il risultato più presente nelle discussioni è:
Codice: [Seleziona]
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();

Però non ottengo alcun risultato!!!!
Mi dà un Warning: require_once perchè non trova gli includes.

Come posso risolvere?
E' questa la strada corretta per recuperare il nome utente?

Grazie per le eventuali risposte.
« Ultima modifica: 14 Nov 2010, 11:23:02 da Ermindo »

mau_develop

  • Visitatore
Re:Recuperare username utente
« Risposta #1 il: 14 Nov 2010, 11:46:33 »
la strada è giusta, il problema è un altro.

Il principio dello scrivere un codice a classi è ottenere INCAPSULAZIONE, polimorfismo ed ereditarietà... ti ho messo in maiuscolo quello in cui tu incappi scrivendo codice in un wrapper.

O entri nel magico cestone di joomla (mvc) e giochi coi suoi giochi oppure li vedi dal vetro ma non li tocchi :)

M.

Offline Ermindo

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:Recuperare username utente
« Risposta #2 il: 14 Nov 2010, 12:20:26 »
Grazie M. per la tempestiva risposta!!!

Immaginavo che il problema principale fosse appunto l'incapsulazione!
Da quel che mi dici quindi devo dedurne che nuove pagine di codice pubblicate con il modulo "wrapper" restano isolate dall'ambiente Joomla e non hanno possibilità di condividere risore. Giusto?

Nel caso, esiste una strada alternativa?

Grazie
E.

mau_develop

  • Visitatore
Re:Recuperare username utente
« Risposta #3 il: 14 Nov 2010, 12:30:34 »
Da quel che mi dici quindi devo dedurne che nuove pagine di codice pubblicate con il modulo "wrapper" restano isolate dall'ambiente Joomla e non hanno possibilità di condividere risore. Giusto?
-------------------------------------------------------------------------
esatto

Nel caso, esiste una strada alternativa?
-------------------------------------------------------
Mi viene inmente di andare a pasticciare recuperando magari la sessione o facendo spedire a joomla un cookie con l'username...ma sono tutte "porcherie" che darebbero poi altri problemi.

Se già sai scrivere in php segui una guida e sviluppa un componente o modulo.

M.

Offline Ermindo

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:Recuperare username utente
« Risposta #4 il: 14 Nov 2010, 16:45:53 »
Ok, grazie per le informazioni, seguirò il tuo consiglio.
E.

Offline tonyhhkx

  • Esploratore
  • **
  • Post: 51
    • Mostra profilo
Re:Recuperare username utente
« Risposta #5 il: 15 Nov 2010, 22:23:27 »
Salve,
ho una necessità!

Ho realizzato un form per l'inserimento dati che viene utilizzato da più utenti.
L'accesso al form di inserimento è consentito solo agli utenti registrati e che "ovviamente" eseguono la login.
Le pagine .php create sono pubblicate nel sito attraverso il modulo "wrapper".
Ho la necessità di recuperare lo $user dell'utente loggato e di memorizzarlo nel relativo record in modo da monitorare l'inserimento dei dati eseguito degli utenti.
Come faccio a recuperare il valore della variabile $user??

Ho già eseguito delle ricerche relative a questo argomento su questo forum, ed il risultato più presente nelle discussioni è:
Codice: [Seleziona]
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();

Però non ottengo alcun risultato!!!!
Mi dà un Warning: require_once perchè non trova gli includes.

Come posso risolvere?
E' questa la strada corretta per recuperare il nome utente?

Grazie per le eventuali risposte.

hei io ho risolto con questo:  <?php   

$user =& JFactory::getUser();
echo $user->id;
echo $user->username;
echo $user->name;
echo $user->email;
echo $user->usertype;
echo $user->guest;

?>

.

Mettilo nel codice HTML del template..funziona alla grande :)

mau_develop

  • Visitatore
Re:Recuperare username utente
« Risposta #6 il: 15 Nov 2010, 22:39:37 »
certo che funziona, ... lo recuperi da "dentro" joomla, il problema è metterlo nel wrapper :)

M.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Recuperare username utente
« Risposta #7 il: 16 Nov 2010, 22:17:31 »
quick & dirty:
 scrivi un'altra view per com_wrapper (ie: copia quella esistente) ed aggiungi il nome utente all'url dell'iframe.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline Piumy

  • Nuovo arrivato
  • *
  • Post: 5
    • Mostra profilo
Re:Recuperare username utente
« Risposta #8 il: 24 Nov 2010, 23:50:55 »
apri "modules/mod_wrapper/mod_wrapper.php" e aggiungi queste due righe prima del require.

Codice: [Seleziona]
$user =& JFactory::getUser();
$url .= '/index.php?user='.$user->username;

modificando l'indirizzo e il nome della variabile secondo le tue necessità.
ciao

Offline Ermindo

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:Recuperare username utente
« Risposta #9 il: 26 Nov 2010, 08:54:03 »
Ciao Piumy,
e grazie per le tue indicazioni, ..

... dunque, ... ho provato ad inserire le righe di codice che mi hai indicato in "modules/mod_wrapper/mod_wrapper.php"
e questo è il risultato:
Codice: [Seleziona]
// no direct access
defined('_JEXEC') or die('Restricted access');

// Include the syndicate functions only once
require_once (dirname(__FILE__).DS.'helper.php');

$params = modWrapperHelper::getParams($params);

$load = $params->get( 'load');
$url = $params->get( 'url');
$target = $params->get( 'target' );
$width = $params->get( 'width');
$height = $params->get( 'height');
$scroll = $params->get( 'scrolling' );
$class = $params->get( 'moduleclass_sfx' );

$user =& JFactory::getUser();
$url .= '../../Schedatura/my_log.php?user='.$user->username;

require(JModuleHelper::getLayoutPath('mod_wrapper'));

ma sinceramente non sono convinto di aver fatto bene nell'indirizzare l'URL.
L'URL deve far riferimento al file che deve mostrare i valori???

Questo è il codice del file my_log.php che si trova nella directory /Schedatura:

Codice: [Seleziona]
<?php   
define
'_JEXEC');

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();
echo 
$user->id;
echo 
$user->username;
echo 
$user->name;
echo 
$user->email;
echo 
$user->usertype;
echo 
$user->guest;

?>


Richiamando il file my_log.php con il modulo wrapper il risultato è questo:
No configuration file found and no installation code available. Exiting...
Cosa sbaglio???

Grazie
Ermindo

mau_develop

  • Visitatore
Re:Recuperare username utente
« Risposta #10 il: 26 Nov 2010, 15:12:55 »
Questo è il codice del file my_log.php che si trova nella directory /Schedatura:
---------------------------------------------------------------------
... ancora??

il tuo files è FUORI DAL FRAMEWORK tutti quei metodi che hai scritto sono inutilizzabili

Quello che ti suggeriva era come passare dal framework(wrapper) al tuo file l'username attraverso il get.

quindi l'unica cosa che puoi fare nel TUO FILE è

$mio_user = $_GET['user'];

M.

Offline corrado.melillo

  • Nuovo arrivato
  • *
  • Post: 7
    • Mostra profilo
Re:Recuperare username utente
« Risposta #11 il: 21 Feb 2011, 13:05:03 »
salve avrei bisogno di recuperare i vari utenti che si sono registrati sul mio sito oppure nel momento che faccio un upgrade non perderl.. qualcuno mi spiega come fare?

grazie grazie grazie

mau_develop

  • Visitatore
Re:Recuperare username utente
« Risposta #12 il: 21 Feb 2011, 15:08:15 »
Recuperare username utente è il titolo del post... perchè ti sei appeso a qs?

Da cosa deduci che facendo un upgrade perdi gli utenti?

solitamente comunque si fa un backup almeno una volta alla settimana... impossibile perdere nulla che non si possa recuperare

M.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Recuperare username utente
« Risposta #13 il: 21 Feb 2011, 21:18:31 »
ciao corrado,
 benvenuto sul forum :)

in effetti è meglio se apri un altro post, magari nella sezione upgrade, se questo è il tuo dubbio.

ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif