Back to top

Autore Topic: registrare un utente con query propria  (Letto 3780 volte)

Offline shaggy88

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
registrare un utente con query propria
« il: 15 Nov 2011, 23:55:32 »
Salve ragazzi.

Ho la necessità, tramite un mio script in php (che svolge altre funzioni), di registrare un'utente nella tabella jos_user.

Mi domando, come faccio a criptare la password nello stesso modo di Joomla 1.7 ?

cioè, quando l'utente inserisce nel mio form la password... e preme su registrati...come faccio a memorizzare nel database la password con lo stesso criptaggio di Joomla 1.7, in modo che poi posso gestire l'utente normalmente all'interno di Jooma?

Grazie.

Offline webbati

  • Esploratore
  • **
  • Post: 116
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #1 il: 16 Nov 2011, 01:32:06 »
 dai un'occhiata qua:

/libraries/joomla/user/user.php alle righe 587-588-589

e qua :

/libraries/joomla/user/helper.php


che contiene la classe con i metodi invocati sopra

Offline shaggy88

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #2 il: 16 Nov 2011, 09:21:04 »
Ciao webbati, grazie per la risposta.

Quindi ipotizziamo che io mi creo un modulo personalizzato e ci metto il mio codice. In front end apparirà un form di registrazione.

Questo form ha metodo post e action ad un'altra pagina php.

In questa pagina potrei fare cosi?


            $password = $_POST['password'];    // password che mi arriva dal post
            $salt  = JUserHelper::genRandomPassword(32);
            $crypt = JUserHelper::getCryptedPassword($password, $salt);
            $password = $crypt.':'.$salt;

La mia domanda è... ma se io includo queste 3 righe di codice dove vengono chiamate queste funzioni... non mi da errore? Nel senso se le ritrova poi queste funzioni? Oppure devo includere qualche pagina di joomla per far si che le funzioni vengono chiamate correttamente?

Offline webbati

  • Esploratore
  • **
  • Post: 116
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #3 il: 16 Nov 2011, 12:04:17 »
ciao shaggy88, se sei all'interno dell'MVC di joomla! dovrebbe bastarti importare la classe ( vedi http://docs.joomla.org/Jimport  ) per poter poi richiamarne i metodi statici

Offline shaggy88

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #4 il: 16 Nov 2011, 12:27:32 »
Allora premetto che non sono uno sviluppatore, perciò questa è la mia prima volta che modifico il core di Joomla.

La cosa che vorrei fare, è creare un mio form di registrazione utente (o modificare quello nativo di Joomla) per aggiungere un campo particolare.

Ora, se ne creo io uno... vorrei creare 2 pagine in php...senza integrarle nel codice in Joomla. Poi le richiamerò con un iframe all'interno di un contenuto.

Quente pagine saranno: form di registrazione e controllo/scrittura campi del form.

Quindi, al momento della scrittura nel DB, vorrei sapere come includere correttamente tutte le funzioni di Joomla necessarie per scrivere nel suo DB.

Sarebbe stato più semplice modificare il form nativo di registrazione? Ma non so come farlo!

Offline webbati

  • Esploratore
  • **
  • Post: 116
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #5 il: 16 Nov 2011, 12:39:15 »
Ma allora non ti basta attivare il plugin 'profile' e utilizzare quelli che ti servono tra quei campi?

Offline shaggy88

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #6 il: 16 Nov 2011, 12:43:03 »
Il problema è che mi serve un campo non modificabile che contiene un codice casuale generato al momento della registrazione.

Immagina che ti stai registrando, hai tutti i campi nativi ed in più hai il campo CodiceCliente. Questo campo non puoi modificarlo, e dentro ci vedi scritto un codice casuale (che genero io con uno script in php)

Purtroppo il plugin profile ha determinati campi aggiuntivi non modificabili!!!

Offline webbati

  • Esploratore
  • **
  • Post: 116
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #7 il: 16 Nov 2011, 12:56:04 »
mmm..uscire dall'MVC è sempre cosa brutta e cattiva....
Comunque, allora, puoi inserire le tre funzioni (getCryptedPassword, getSalt, genRandomPassword) nel tuo file e utilizzarle direttamente ( senza il JUserHelper:: )

Però poi il valore del campo in più dove lo metti? perchè facendo così lo perderesti.

A meno che quel dato lì finirà su un'altro database ma nello stesso tempo vuoi inserire l'utente nel databse di joomla!, ho capito bene?
« Ultima modifica: 16 Nov 2011, 13:13:12 da webbati »

Offline shaggy88

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #8 il: 16 Nov 2011, 13:18:05 »
Esatto. Cioè vorrei fare una normale registrazione di un utente Joomla.. ma con un mio form (oppure modificando quello nativo di joomla)

Poi questo utente deve essere memorizzato in jos_user, come lo memorizza normalmente joomla. Nel DB in jos_user ho già inserito un campo CodiceCliente!

mau_develop

  • Visitatore
Re:registrare un utente con query propria
« Risposta #9 il: 16 Nov 2011, 20:52:45 »
- come creare una password joomla.. c'è uno o due articoli ben fatti,
- creare una riga in quella tabella non ti serve a nulla perchè l'utente non è presente solo in quella tabella
- lascia perdere metodi e classi di joomla perchè fuori dal framework non hai nulla di tutto questo

se non conosci il codice e soprattutto se non sai sviluppare l'ultima cosa da fare è cercare di smanacciare un sistema di login ;)

M.

Offline shaggy88

  • Nuovo arrivato
  • *
  • Post: 9
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #10 il: 16 Nov 2011, 22:04:26 »
Risolto! Grazie lo stesso... ho messo mani su un po di pagine! :) alla fine ci sono riuscito!

Offline Yury

  • Nuovo arrivato
  • *
  • Post: 2
    • Mostra profilo
Re:registrare un utente con query propria
« Risposta #11 il: 17 Nov 2011, 11:36:41 »
Risolto! Grazie lo stesso... ho messo mani su un po di pagine! :) alla fine ci sono riuscito!

Ho un problema simile... come hai fatto per risolvere?

 



Web Design Bolzano Kreatif