WebSite X5Help Center

 
Franco F.
Franco F.
User

Problema di accesso  it

Autore: Franco F.
Visite 1366, Followers 2, Condiviso 0  

Avevo una versione 2019.

Oggi ho aggiornato alla versione 2020.1.7.

Non funziona piú il sistema di LogIn! Mi dá il seguente errore:

Fatal error: Uncaught Error: Call to undefined method ImDb::from_db_data() in /web/htdocs/www.onenesstkd.it/home/imlogin.php:12 Stack trace: #0 {main} thrown in /web/htdocs/www.onenesstkd.it/home/imlogin.php on line 12 

COSA DEVO FARE?

Ho giá reimportato gli utenti. Ho visto che su database avete criptato le password che prima erano in chiaro. Ma adesso? Gli utenti che avevo giá registrato?

Postato il
10 RISPOSTE
Stiac Engineering
Stiac Engineering
User

Le password, così come il PHP, sono state migliorate per aumentare la sicurezza dei Siti WebSite x5.

Se non erro la conversione è tutta automatica. Non era necessario dunque reimportare gli utenti, anche perché con la password criptata non è possibile risalire a quella originale.

Accedi in /admin del tuo sito e verifica in "Web Test" che tutte le voci risultano "PASS".

Se hai effettuato modifiche al database potresti aver creato un problema.

Leggi di più
Postato il da Stiac Engineering
Franco F.
Franco F.
User
Autore

Ho verificato, NON avevo impostato l'ultima versione, ma la penultima (PHP: 7.2.26.). Ora sono passato alla PHP: 7.3.17.

Sarebbe bello accedere al pannello admin, ma peccato che anche quello mi dá il segunete errore:

Call to undefined method ImDb::from_db_data() .

Andró a modificare la generazione del database alla riga indicata per tornare al codice precedente e verificare il funzionamento.

Per quanto riguarda il fatto che abbiate reso piú sicure le password ok, ho visto che le avete criptate, ma se vado a recuperare la password ottengo come risposta questa criptata e non ho trovato nulla nella pagina imlogin.php che vada a decriptare la password.

Leggi di più
Postato il da Franco F.
Franco F.
Franco F.
User
Autore

In pratica ho modificato la riga 94 del file imadmintest.php.

Era:  $database = ImDb::from_db_data($db);

Ho tornato a mettere: $database = new ImDb($db['host'], $db['user'], $db['password'], $db['database']);

Ora accedo alla pagina. 

Versione di PHP (versione minima richiesta 7.1.0): 7.3.17  PASS

Supporto sessioniPASSCartella su Server con accesso in scrittura (App_Data)  PASS

Cartella su Server con accesso in scrittura (App_Data/BlogComments) PASS

Supporto MySQL ed impostazioni database (Linux_DBX5_Oneness)  PASS

Leggi di più
Postato il da Franco F.
Franco F.
Franco F.
User
Autore

Ho ricercato la funzione "from_db_data" PHP e NON la ho trovata, quindi ne deduco che sia una funzione WebSite X5! Se si, NON la ho trovata dichiarata da nessuna parte?

Leggi di più
Postato il da Franco F.
Stiac Engineering
Stiac Engineering
User

Le casistiche sono 2:

  1. Stai riscontrando un bug risolto nell'attuale Beta in testing;
  2. Conflitto nel Database o errore dato dalle modifiche citate.

Visto che hai il PHP idoneo e tutte le voci danno PASS, suppongo possa essere un errore DB ad esempio inserendo un valore non previsto dal record.

Ti consiglierei di creare una versione "pulita" priva di codici opzionali e testare ma il problema potrebbe essere dato dal database corrotto.

Attenderei un riscontro da parte dello Staff o qualche utente che ha familiarità con l'errore.

Leggi di più
Postato il da Stiac Engineering
Franco F.
Franco F.
User
Autore

Ho in parte risolto. In pratica NON si era aggiornato il file x5engine.php da sé che quindi non era presente la funzione "from_db_data".

Ora, mi sembra di capire che sono cambiate diverse cose nell'accesso al database MySql.

Per creare l'oggetto database ho sempre usato:

new ImDb($qdati['host'], $qdati['user'], $qdati['password'], $qdati['database']);

Ma adesso mi torna errore. Cosa devo usare?

Leggi di più
Postato il da Franco F.
Stiac Engineering
Stiac Engineering
User

Per rigenerare correttamente il progetto, consigliano di eliminare i file presenti nella cartella relativi lo stesso (Preview e Anteprima), e di premere CTRL + Anteprima.

Così dovresti ricreare ogni pagina.

Purtroppo non sono eccellente in materia. Dovresti attendere un riscontro da parte di altri utenti.

Non comprendo perché modifichi il file x5engine.php o altri per il login.

Con la versione attuale funziona tutto correttamente. Ovviamente con gli aggiornamenti può succedere che alcuni contenuti subiscano modifiche e di conseguenza codici extra causino errori.

Potresti consultare i file relativi l'SDK se sono stati aggiornati.

Leggi di più
Postato il da Stiac Engineering
Franco F.
Franco F.
User
Autore

Ho alla fine generato un nuovo progetto e ne ho confrontato i due file x5engine.php. Effettivamente sul mio progetto il file NON era aggiornato, mancavano delle funzioni. 

Ora li ho allineati e il sito é tornato operativo.

Per l'accesso al database ho invece inserito questo codice per andare a usare direttamente MySQL invece di passare dalla classe ImDB usando il codice di seguito e ora funziona.

if (function_exists("mysqli_connect")) {
$sitedb = new MySQLiDriver($qhost, $quser, $qpassword, $qdatabase);
} else if (function_exists("mysql_connect")) {
$sitedb = new MySQLDriver($qhost, $quser, $qpassword, $qdatabase);
} else {
die("No database support detected");
}

Grazie mille

Leggi di più
Postato il da Franco F.
Stiac Engineering
Stiac Engineering
User

Prego! Sono felice che tu abbia risolto il problema wink

Leggi di più
Postato il da Stiac Engineering