Estrarre la "username"

Caio a tutti. Sono nuovo in questo forum: ed ecco il mio primo post.

Mi trovo in questa situazione:

sto lavorando in locale su Mambo 4.5.4 + MAMP (PHP 4.4.2 MySQL 4.1.12).

Ho creato una Sezione che viene visualizzata solo dopo aver fatto il Login. Vorrei visualizzare la "username" della persona che si logga in alto a sinistra (tipo in questo forum).

Premetto che solo da pochi giorni ho scoperto che si possono estrarre dati dal database leggendo i Corsi di questo sito.

Ho provato ad inserire questo codice:

   <?php
            
   // preparo la query  
   $query = "SELECT username FROM mos_users"; 
      
   // invio la query  
   $result = mysql_query($query);
      
   while ($row = mysql_fetch_assoc($result)) {
      
   $username = htmlentities($row['username']); 
            
   echo "$username";
      
   }      
            
   // libero la memoria di PHP occupata dai record estratti con la SELECT  
   mysql_free_result($result);
            
   // chiudo la connessione a MySQL  
   mysql_close(); 
            
   ?>

...ma purtroppo mi estae tutte le "username" che ho nel database.

Domanda: come posso fare per visualizzare solo la "username" della persona che si è loggato?

Mi potete dare un aiuto?

Grazie molto in anticipo,

Bloggionos

P.S. - Complimenti per il sito: chiaro, pulito e veloce

inviato 10 anni fa
Blogginos
X 0 X

scritta così la query non ha senso perchè manca la condizione

hai scritto la seguente query

SELECT username FROM mos_users

che in pseudo linguaggio sarebbe all'incirca così :

SELEZIONA username DALLA TABELLA mos_user

senza nessuna indicazione su quale username prendere, quindi il database non può restituirti dei risultati ( strano ma dovrebbe mostrarti anche un errore,se non erro ??? )

dovresti scrivere una query aggiungendo la clausola WHERE

se mambo salva qualcosa nelle sessioni o nei cookie che possa identificare l'utente

SELECT username FROM mos_users WHERE id=valore

dove valore ammettiamo che sia l'id dell'utente loggato

se salva l'username direttamente nella sessione o nel cookie

basta mostrare il valore che c'è nel cookie senza interrogare ancora il database!

ciao!

PS: scusate se sò mancato molto , ma ho spaccato il pc e ho i pezzi in garanzia :'(

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

Grazie per la risposta ma per la verità avevo già provato ad inserire un WHERE ma poi non so come proseguire.

Con l'ID non funziona, ma tu parli di cookie...e il valore del cookie dove lo trovo?  :-\

Grazie, ancora

Blogginos

risposto 10 anni fa
Blogginos
X 0 X

prova a fare un

print_r($_COOKIE);

mambo dovrebbe tenere traccia in qualche modo dell'utente,tramite id o username... il problema è se sono hashati in md5 o sha1

purtroppo non sono un conoscitore di questo cms e non saprei come aiutarti a trovare i dati che ti servono :(

bye

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

l'ho fatto. Ecco quello che è uscitoArray (  [mosvisitor] => 1  [5381a055f1b7a20e721a556d33036ea4] => 37863a6d420cce6d1d742c7544746981e5a7bc8c855f9508a2cb6d6f6b692dca63  [PHPSESSID] => 0d81f6327e33a323dad06eec85cb31e9 [24feed896949efb9f20c24675c040f96] => a76662aa92d0a826be1878bb0db56d64  [sboard_settings] => Array  (  [member_id] => 0 [prevvisit] => 1160640768  [current_view] => flat  )  [punbb_cookie] => a:2:{i:0;s:1:\"3\";i:1;s:32:\"8e3c700ac1e4cdc5438a42aaede2a9c1\";} )

...e mmò?

risposto 10 anni fa
Blogginos
X 0 X

prova a fare :

"SELECT username FROM mos_user WHERE id=' " . $sboard_settings['member_id'] . " ' ";

ho usato id come campo id presumendo che mambo usi quel nome per l'id dell'utente dai uno sguardo nel database e vedi come si chiama il campo con gli id degli utenti nella tabella mos_users

cmq non credo che così funzioni ... a  meno che in member_id ci sia effettivamente l'id dell'utente loggato, tentar non nuoce :D

PS: non credo comunque che questo sboard_settings sia un cookie del cms ma invece credo sia del forum o di un altro applicativo ... bisogna aspettare Gianni per vedere cosa dice il sommo :death:

:bye:

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

Nella tabella mos_users l'id è chiamato id: quiandi non ci sono problemi.

sboard_settings invece è un forum a parte  :'(

cmnq grazie dell'impegno - mi sento meno solo con queste array!!!!!

a presto,

Blogginos

risposto 10 anni fa
Blogginos
X 0 X

il problema è solo carpire come mambo identifica l'utente ( se lo fa ) cioè come ricorda chi è l'utente loggato se usa l'id o l'username criptato ...

:bye:

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Se non ricordo male mel modulo che viene utilizzato per effettuare il login, una volta riconosciuto l'utente, viene mostrato un saluto contenente il nome dell'utente.

Se è così potresti spulciare il codice di tale modulo e scoprire da dove prende il nome.

 :bye:

P.S.: in generale, quando si agisce su un CMS di grosse proporzioni conviene sempre scoprire come questo gestisce i dati e li rende disponibili al codice. In pratica quindi bisognerebbe evitare di agire direttamente sul database ma conviene verificare se esiste già una funzionalità interna al CMS per ottenere proprio i dati che cerchiamo. Lo username potrebbe infatti essere una semplice variabile interna al sistema.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Grazie Gianni, ho trovato il modulo che dici tu ho copiato il codice nella pagina che mi interessava ... ma non ho capito perché non funziona.

Allora ho duplicato il modulo ho tolto le cose che non mi interessavano e l'ho richiamato nel punto della pagina che volevo: così funziona!!!

Grazie tanto, era una settimana che impazzivo appresso a questa cosa.

Blogginos

risposto 10 anni fa
Blogginos
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda