Back to top

Autore Topic: Aggiornamento dati utente tramite JUser  (Letto 2010 volte)

Offline floryn90

  • Nuovo arrivato
  • *
  • Post: 8
  • Sesso: Maschio
    • Mostra profilo
Aggiornamento dati utente tramite JUser
« il: 08 Lug 2013, 11:38:31 »
Sto cercando di aggiornare i dati di un utente loggato (email e password) in un componente da me creato ma $user-save(true) mi restituisce un errore: JLIB_DATABASE_ERROR_EMAIL_INUSE. Questo mi fa pensare che non sto in aggiornamento ma in registrazione !? Qualche info utile ?


Codice: [Seleziona]
$user=& JFactory::getUser(); //catturo l'utente loggato in quel momento


//imposto la nuova email
$user->email=$email;


if(!$user->save(true)){
JError::raiseWarning('',JText::_('Email non salvata!'));
}else{
return true;
}


Questo errore JLIB_DATABASE_ERROR_EMAIL_INUSE significa che tale email esiste già! Ma adesso mi viene restituito un'altro errore :(
« Ultima modifica: 08 Lug 2013, 12:44:45 da floryn90 »

mau_develop

  • Visitatore
Re:Aggiornamento dati utente tramite JUser
« Risposta #1 il: 08 Lug 2013, 17:33:22 »
visto che il componente lo hai fatto tu non usare save ma costruisci un metodo di update...

Offline majinb

  • Nuovo arrivato
  • *
  • Post: 1
    • Mostra profilo
Re:Aggiornamento dati utente tramite JUser
« Risposta #2 il: 31 Lug 2014, 19:20:51 »
ciao, ho lo stesso problema e volevo sapere se e come hai risolto. grazie

Offline mmleoni

  • Global Moderator
  • Instancabile
  • *****
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Aggiornamento dati utente tramite JUser
« Risposta #3 il: 01 Ago 2014, 07:44:12 »
ciao e benvenuto sul forum  :)

è inutile passare true al metodo save, molto meglio verificare che l'utente esista (id!=0).
per il resto non deve esistere un altro utente con la mail che si vuole registrare (verifica in check in JTableUser), cosa che succederebbe sempre se l'utente non fosse loggato, ovvero quando è connesso ma non loggato.

ps: in php 5.3+ gli oggetti sono sempre passati per riferimento, quindi non usate più =& in questi casi.

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

 



Web Design Bolzano Kreatif