Vai al contenuto
  • 0

webserver collegare sito ad un database esterno


Lastonixx

Domanda

Ciao a tutti :),

 

non so se il titolo del post è appropriato o meno, ma vi spiego il mio problema :)....

 

recentemente ho startato un gioco online sul mio pc grazie all aiuto di macchine virtuali ecc e ho istallato il database su navicat...

 

io mi chiedevo se è possibile collegare il mio sito ipb al database del gioco,  in modo tale che quando uno si registra al mio sito, oltre che a creare l account per il sito lo crea nel database del gioco, e la gente con i stessi dati di registrazione entra nel gioco... è fattibile?:S

 

oddio spero di essermi spiegato bene o almeno di avervi fatto capire quali sono i miei dubbi ..

 

Vi saluto e ringrazio anticipatamente chiunque voglia aiutarmi...

 

ps:spero di non aver sbagliato sezione ^^

Modificato da Lastonixx
Link al commento
Condividi su altri siti

9 risposte a questa domanda

Messaggi raccomandati

  • 0

In quale linguaggio è scritto il gioco?

Ci sono diversi metodi... ma io ti consiglio di creare un tuo file sito.it/api.php e un modulo/form nel gioco che permetta di verificare se l'utente esiste e abbia inviato le credenziali corrette!

 

oppure evitando di usare ajax puoi usare xml-rpc

Link al commento
Condividi su altri siti

  • 0

uso questo file php che ho messo nella cartella htdocs di xampp e che raggiungo tramite l indirizzo http://IP HAMACHI/account_create.php  dopo aver startato il  server di gioco e il servizio apache di xampp...  soltanto che riesco ad usarlo e vederlo soltanto io in locale.... per questo ho pensato di farlo interaggire con il forum ipb in modo tale che la gente si registrasse al forum e con i stessi dati si sarebbe creato un account nel database di gioco e sarebbero potuti entrare con i stessi dati...

 

account_create.php

 

 

 

soltanto che non so dove mettere mano... :/

 

Link al commento
Condividi su altri siti

  • 0

uso questo file php che ho messo nella cartella htdocs di xampp e che raggiungo tramite l indirizzo http://IP HAMACHI/account_create.php  dopo aver startato il  server di gioco e il servizio apache di xampp...  soltanto che riesco ad usarlo e vederlo soltanto io in locale.... per questo ho pensato di farlo interaggire con il forum ipb in modo tale che la gente si registrasse al forum e con i stessi dati si sarebbe creato un account nel database di gioco e sarebbero potuti entrare con i stessi dati...

 

attachicon.gifaccount_create.php

 

 

 

soltanto che non so dove mettere mano... :/

c'era pubblicato nel forum un metodo che ti permetteva di fare il login registrazione e logout...

io attualmente ho quei file, ma li usavo per fare il login e logout.

dovrei integrare ancora i metodi per creare un utente se questo non esiste...

  • 'ERROR': There was an error, check the class property array: $class->auth_errors
  • 'NO_USER': There was no user found in IP.Board record set, but authentication passed in REMOTE directory
  • 'WRONG_AUTH': Authentication failed, wrong password or username
  • 'SUCCESS': Successful authentication, user and password matched. Load member if they exist or create new member for IP.Board.
######DA INSERIRE NELLA FUNZIONE doLogin() NEL FILE metodo.php OPPORTUNAMENTE!!#http://community.invisionpower.com/resources/articles.html/_/ipboard-3x/developer-articles/log-a-user-in-and-out-r323$this->member     =  $this->ipbRegistry->member();$this->memberData =& $this->ipbRegistry->member()->fetchMemberData();$this->settings =& $this->ipbRegistry->fetchSettings();$check_exist = IPSText::checkEmailAddress( $this->request['ips_username'] ) ?IPSMember::checkByEmail($this->request['ips_username']) || $login->emailExistsCheck($this->request['ips_username']) :IPSMember::load( $this->request['ips_username'], 'all', 'displayname' ) || IPSMember::load( $this->request['ips_username'], 'all', 'username' ) || $login->nameExistsCheck( $this->request['ips_username'], $this->memberData );//ATTENZIONE: nameExistsCheck ed emailExistsCheck hanno una forte restrizione che include WRONG_AUTH e MISSING_EXTENSIONS, quindi andrebbero fatti separatamente dove i request_code non devono essere 'NAME_NOT_IN_USE', 'METHOD_NOT_DEFINED' o 'EMAIL_NOT_IN_USE'... e poi messi nella condizione $check_esist.//ma almeno un piccolo check lo fanno anche loro...elseif($login->return_code == 'NO_USER' && isset($_POST['create']) && !$check_exist && IPSText::checkEmailAddress($this->request['ips_username']) ){        /* Custom profile field stuff */        $classToLoad = IPSLib::loadLibrary( IPS_ROOT_PATH . 'sources/classes/customfields/profileFields.php', 'customProfileFields' );        $custom_fields = new $classToLoad();                $custom_fields->initData( 'edit' );        $custom_fields->parseToSave( $_POST, 'register' );        /* Check */        if( $custom_fields->error_messages )        {            $form_errors['general']    = $custom_fields->error_messages;        }    $member = array(                         'name'                        => $this->request['ips_username'],                         'password'                    => $this->request['ips_password'],                         'members_display_name'        => $this->request['ips_username'],                         'email'                    => $this->request['ips_username'],                         'member_group_id'            => $this->settings['member_group'],                         'joined'                    => time(),                         'ip_address'                => $this->member->ip_address,                         //'time_offset'                => $this->request['time_offset'],                         //'coppa_user'                => $coppa,                         //'members_auto_dst'            => intval($this->settings['time_dst_auto_correction']),                         //'allow_admin_mails'        => intval( $this->request['allow_admin_mail'] ),                         //'language'                    => $this->member->language_id,                       );    $member = IPSMember::create( array( 'members' => $member, 'pfields_content' => $custom_fields->out_fields ), FALSE, FALSE, FALSE );    //Crea l'account per gli altri metodi di login (ips connect...che connette 2 o + board)    $login->createAccount( array(    'member_id'                => $member['member_id'],                                                   'email'                    => $member['email'],                                                'joined'                => $member['joined'],                                                'password'                => $this->request['ips_password'],                                                'ip_address'            => $this->member->ip_address,                                                'username'                => $member['members_display_name'],                                                'name'                    => $member['name'],                                                'members_display_name'    => $member['members_display_name'],                                           )        );}

Quindi il form andrà compilato con un input aggiuntivo con name="create" (checkbox, radio...) per permettere di registrare l'utente se non esiste e se il campo viene selezionato...

ULTIMA MODIFICA: praticamente per creare l'utente occorre che l'input "ips_username" sia una email, altrimenti la creazione dell'account potrebbe non andare a buon fine ma non ho testato... quindi più tardi creo tutto il codice che ti occorre e te lo pubblico.

 

 

LINK UTILI

http://community.invisionpower.com/resources/articles.html/_/ipboard-3x/developer-articles/log-a-user-in-and-out-r323

http://www.invisionpower.com/support/guides/_/advanced-and-developers/api-methods/ipsmember-r200

http://community.invisionpower.com/resources/guides.html/_/advanced-and-developers/integration/single-sign-on-sso-r209

https://www.invisionpower.com/support/guides/_/advanced-and-developers/integration/login-modules-r42

login.php

metodo.php

Modificato da BomAle
Link al commento
Condividi su altri siti

  • 0

non riesco a vedere i link mi dice ke non ho i permessi.... comunque cosa devo fare con i due file php ke mi hai dato?:)

Link al commento
Condividi su altri siti

  • 0

ho sistemato i link, erano da rifare con quelli nuovi...

col metodo.php hai le risorse che ti permettono di fare il login e logout quindi le funzioni.

col login.php equivale al tuo file account_create.php per verificare i dati!

a questo punto devi adattare il login.php con la funzione che registra l'utente... che ho scritto nel post precedente ;)

 

in generale bisogna fare un form html con i dati che vuoi che siano compilati, compresi i custom field/campi personalizzati.

Link al commento
Condividi su altri siti

  • 0

ok adesso questi file li devo mettere da qualche parte per farli funzionare presumo... :)

si, nella stessa directory principale dove c'è il conf_global.php

  • Like 1
Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora
  • Chi sta navigando   0 utenti

    • Nessun utente registrato visualizza questa pagina.
×
×
  • Crea Nuovo...

Informazioni importanti

Abbiamo inserito dei cookies nel tuo dispositivo per aiutarti a migliorare la tua esperienza su questo sito. Puoi modificare le impostazioni dei cookie, altrimenti puoi accettarli cliccando su continua. to insert a cookie message.