• Benvenuti su XenForo Italia!

    Stai navigando nella nostra community come Ospite.

    Avere un account su XenForo Italia ti permetterà di creare e partecipare alle discussioni, scaricare i file di traduzione in italiano, vedere le immagini e i video a formato intero, iniziare conversazioni personali con gli altri membri del forum e di utilizzare tutte le funzioni di questo sito.

    Condividi anche tu la tua passione per XenForo!

    Registrarsi è gratis ed elimina la pubblicità

0x1d3

Admin XenForo
Punteggio reazioni
6
Punti
35
Salve a tutti stare cercando il codice (funzionante su XenForo) per fare il login con i dati del forum! (Esempio per usare dei dati di login uguali per collegarsi in un gioco online)

Se con Invision Power Board usavo questo codice:


PHP:
<?php
define( 'IPS_ENFORCE_ACCESS', TRUE );
define( 'IPB_THIS_SCRIPT', 'public' );
require_once( 'initdata.php' );/*noLibHook*/
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );/*noLibHook*/
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );/*noLibHook*/
$registry = ipsRegistry::instance();
$registry->init();
/* Variables */
$email          = $_GET['user'];
$password      = md5( $_GET['pass'] );
/* Get Member */
$member    = IPSMember::load( $email, 'all','username');
if ( !$member['member_id'] )
{
     
        echo json_encode( array( 'success' => FALSE, 'message' => 'NO_MEMBER' ) );
        exit;
}
/* Authenticate */
if ( IPSMember::authenticateMember( $member['member_id'], $password ) && !$member['member_banned'] )
{
        echo $member['name'];
}
else
{
        echo "bad login";
}
?>
Se con Invision Power board usavo questo codice come potrei modificarlo per farlo funzionare anche su XenForo? Purtroppo sono nuovo e non saprei bene come fare!
 

netkingZ

Membro Senior
Licenza Verificata
Punteggio reazioni
84
Punti
55
Il metodo _GET è sconsigliato da XenForo e poco utilizzato. Comunque i passaggi da fare non sono pochi per far si che si ottenga tutto in modo corretto, ci vuole che ti studi un po il codice. Qui trovi una piccola guida iniziale per muovere i primi passi : http://www.xfitalia.it/community/threads/creare-Add-on-per-XenForo.847/ ed anche la funziona callback ti può tornare utile : http://www.xfitalia.it/community/threads/guida-funzione-callback.845/ .

Il codice da inserire , ma devi studiare come inserirlo , dovrebbe essere una cosa simile:


Codice:
$text1 = $this->_input->filterSingle('email', XenForo_Input::STRING);
  $text2 = $this->_input->filterSingle('password', XenForo_Input::STRING);
  $text3 = $this->_input->filterSingle('userId', XenForo_Input::STRING);

    $db = XenForo_Application::getDb();
    
                        if ( !$db ) {
                            die( 'This script did not connect to the database' . mysql_error() );
                        }

  $query = "SELECT * FROM xf_user ";
        
                                  $row = XenForo_Application::get('db')->fetchAll($query);
        
                                  foreach ( $row AS $rows ) {
                                      $userID = $rows['user_id'];
                                      $password = $rows['password'];
                                      $email = $rows['email'];
                                      $username = $rows['username'];
                                  }
if(($userID == $text3) && ($password == $text2) && ($email == $text1 )){
          echo($username);
return $this->responseRedirect(
                                            XenForo_ControllerResponse_Redirect::SUCCESS,
                                            XenForo_Link::buildPublicLink('pagina_a_cui_reindirizzare'),
                                            new XenForo_Phrase('frase_scritta_tramite_il_sistema_phrase_di_xenforo')
                                            );
}else{
          return $this->responseError(new XenForo_Phrase('frase_di_errore_scritta_tramite_il_sistema_phrase_di_xenforo'));
}
Ovviamente ripeto questo codice va inserito in un determinato punto e poi richiamato , quindi ti devi studiare il come si fa a realizzarlo.
Controlla i nomi dei campi del database perche non so se sono corretti essendo a lavoro.

Ovviamente devi creare un Form di login per far si che venga verificato l'accesso.

Se invece ti serve ottenere che solo alcuni utenti ( quelli registrati per esempio ) possano accedere ad una pagina basta impostare i permessi della pagina stessa su XenForo.

Se invece hai bisogno dei dati di login per poi associarci un punteggio ( perso al gioco ) devi aggiungere un campo sul database o direttamente una tabella , ma questo è un altro paio di maniche ... ;)
 
Ultima modifica:

0x1d3

Admin XenForo
Punteggio reazioni
6
Punti
35
  • Autore discussione Autore discussione
  • #3
fantastico! Grazie mille! Si mi serviva per fare il login su un gioco e verificare se l'utente si era registrato oppure no! :)
 

Per rispondere Entra o Registrati è Gratis…

Perchè dovresti Registrarti?

  • Partecipare e Creare Discussioni
  • Trovare Consigli e Suggerimenti
  • Condividere i tuoi Interessi
  • Informarti sulle Novità

Membri Iscritti online

Nuove Discussioni

Ultimi Messaggi sui Profili

Bellissimo XenForo....😎
FEDERICOSCHI ha scritto sul profilo di Il Custode.
non posso scaricare la versione in italiano
Alto