Back to top

Autore Topic: [RISOLTO] Utilizzare username dell'utente loggato in PHP  (Letto 8025 volte)

Offline serpicomania

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Vorrei capire come poter utilizzare l'user name dell'utente loggato per utilizzarlo sulle pagine php che inserisco nel sito
« Ultima modifica: 11 Gen 2010, 11:20:38 da serpicomania »

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:Utilizzare username dell'utente loggato in PHP
« Risposta #1 il: 11 Gen 2010, 10:30:42 »
puoi usare sia gli array di sessione che le api... per il primo basta che vedi il campo contenuto nell'array $_SESSION (mi sembra $_SESSION['username'] ma non ci giurerei!)

con le api puoi usare questo codice:
Codice: [Seleziona]
<?php
 
  $user 
=& JFactory::getUser();
    
  if (!
$user->username) {
    echo 
'errore devi essere loggato!!!';
    return;
  } else {
    echo 
'Ciao '.$user->username;
  }
?>

I miei viaggi: www.scarinciotto.com

Offline serpicomania

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:Utilizzare username dell'utente loggato in PHP
« Risposta #2 il: 11 Gen 2010, 10:50:07 »
con la api mi da "Fatal Error: Class 'JFactory' not found nella directory di easyphp...

per il primo metodo invece:
Notice: Undefined variable: _SESSION
« Ultima modifica: 11 Gen 2010, 10:59:26 da serpicomania »

Offline serpicomania

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:Utilizzare username dell'utente loggato in PHP
« Risposta #3 il: 11 Gen 2010, 11:16:54 »
Sono riuscito ad includere la Jfactory ma nel codice php

echo 'Ciao ' .$user->username

stampa solo Ciao

Offline serpicomania

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:Utilizzare username dell'utente loggato in PHP
« Risposta #4 il: 11 Gen 2010, 11:20:21 »
Ho risolto cosi

Codice: [Seleziona]
// Set flag that this is a parent file
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();
 
echo 'Ciao '.$user->username;
echo 'Ciao '.$user->email;

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:Utilizzare username dell'utente loggato in PHP
« Risposta #5 il: 11 Gen 2010, 11:20:53 »
Sono riuscito ad includere la Jfactory ma nel codice php

echo 'Ciao ' .$user->username

stampa solo Ciao
eri loggato sul sito, vero?
I miei viaggi: www.scarinciotto.com

Offline serpicomania

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #6 il: 11 Gen 2010, 12:07:40 »
ovviamente si...comunque ho riscontrato che il codice funziona solo con firefox mentre con gli altri browser (chrome, ie) non visualizzo l'user come al solito

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #7 il: 11 Gen 2010, 13:29:36 »
uhm... questo è abbastanza strano... io l'ho fatto e il controllo viene eseguito su tutti i browser!
I miei viaggi: www.scarinciotto.com

mau_develop

  • Visitatore
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #8 il: 11 Gen 2010, 13:51:07 »
... ma come fai ad usare i metodi di joomla se invece di estendere le classi fai dei file php esterni all'mvc?

Secondo me l'unico modo, o almeno il più sano, è fare una query separata al db usando come chiave la sessione.

... ma magari sono fuori io...

M.

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #9 il: 11 Gen 2010, 16:00:45 »
la domanda è più che altro perchè stai inserendo delle pagine php al di fuori del flusso di Joomla...  :(

ho riscontrato che il codice funziona solo con firefox ...

niente di più facile né di strano: nel tuo codice, se è fuori da Joomla, come recuperi l'identificativo di sessione?

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

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #10 il: 11 Gen 2010, 16:03:13 »
secondo me lui non sta facendo pagine fuori da joomla... sta creando dei wrapper....
penso eh....
I miei viaggi: www.scarinciotto.com

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #11 il: 11 Gen 2010, 16:08:15 »
che cosa intendi con wrapper?? un iframe?
in questo caso la pagina è sicuramente fuori dal flusso di joomla.

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

Offline serpicomania

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #12 il: 13 Gen 2010, 10:56:21 »
sono wrapper e si sono file php esterni perchè il progetto che sto facendo lo richiede...ci sono altri modi per ricavare l'user e farlo vedere sempre?? a sto punto non so piu se posso segnalare il post come risolto...

Offline scarinciotto

  • Appassionato
  • ***
  • Post: 263
    • Mostra profilo
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #13 il: 13 Gen 2010, 11:06:51 »
ma riesci a ricavare lo user dalle sessioni o api in un wrapper (scusa ma non ricordo bene!) ???
Se si... allora ok... hai risolto il problema!  ;)
I miei viaggi: www.scarinciotto.com

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[RISOLTO] Utilizzare username dell'utente loggato in PHP
« Risposta #14 il: 13 Gen 2010, 11:18:10 »
se sei un iframe non tutti i browser trasmettono i cookies (dipende dall'header P3P)e quindi corri il rischio di non riconnetterti  alla sessione.

fai come detto da mau_develop: passare nell'url l' id di sessione e poi recupera l'utente dalla tabella #__session

ps: NON PASSARE DIRETTAMENTE l'id utente  ;D

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

 



Web Design Bolzano Kreatif