Joomla.it Forum
Non solo Joomla... => Sviluppo => : floryn90 08 Jul 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 ?
$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 :(
-
visto che il componente lo hai fatto tu non usare save ma costruisci un metodo di update...
-
ciao, ho lo stesso problema e volevo sapere se e come hai risolto. grazie
-
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