Problemi trasferimento server postato il 07/10/2008 21:04:52 nel forum programmazione, gdrcd, open source, hosting e modificato da bruce il 07/10/2008 21:17:08
Ciao a tutti, scusatemi ho il seguente problema. Ho trasferito il mio sito da un server hosting linux in un altro più capiente. Dopo aver trasferito i file, ho effettuato il dump del mio databse mysql versione 4 di tutto il database.
Sul nuovo server ho creato il nuovo databse, con un nuovo nome ripsetto al precedente, ma il trasferimento è stato fatto dal gestore del' hosting, essendo il file dump troppo grande non si poteva importare direttamente da phpMyadmin. Il nuovo mysql è la versione 5. Ho controllato e le tabelle sono state tutte caricate perfettamente. il mio problema è il seguente:
Faccio il loghin nome utente e password (criptata nel db usando il file cripta password proposta qui in gdrcd)e mi esce la pagina di errore come quando si sbaglia la password e ti dice ritenta. La password è corretta quella inserita.
Se provo a fare recupera password non manda la mail con all'indirizzo inserito con la nuova password generata.
Altra cosa accade se provo a registrare un nuovo personaggio, non escono fuori i checkbox per la scelta della razza ne la nazione sembra quasi che non via sia il giusto collegamento al database.
in password.inc.php
ho inserito i parametri corretti
#parametri di connessiomne
$par_DbUser = 'nome userdb'; #UserMySQL
$par_DbPassword = 'pasworduserdb'; #PassMySQL
$par_Conn = 'Nome_db'; #NomeDB
$par_DbHost = 'Localhost'; #NomeHost
in quanto il nome del host sul server è localhost.
Su phpMyadmin nome server mette Localhost, essendo php keysensitive ho messo come dall'esempio Localhost in maiuscolo, ho provato a sciverlo in minuscolo non cambia nulla.
Qualcuno saprebbe dirmi cosa fare per risolvere tale problema?
Grazie a tutti
Pagine → 1
07/10/2008 21:28:45
07/10/2008 22:03:38
beh in teoria se non riesce a connettersi al database dovrebbe stamparti un die()
Possibile che tu abbia sbagliato nell'inserire le tabelle?
Che ne so, magari ci sono alcuni campi in minuscolo e altri in miauscolo (intendo come prima lettera) e mi sembra che la patch di golars avesse un problema proprio di questo tipo.
Controlla il codice e facci sapè!
07/10/2008 22:15:09
07/10/2008 22:43:03 e modificato da bruce il 07/10/2008 23:03:12
Grazie amici, per mr faber, il problema non è solo nel file di criptazione delle password, perchè come ho scritto all'inzio ,anche qaundo vado su registrazione personaggio, non esce la a lista delle razze , mentre sull'altro server usciva tutto. in entrambi le versioni di my SQL sia il 4 che il 5 le tabelle le scrive in munuscolo. Per cui se di la funzionava, dovrebbe farlo anche di qua? riguardo a linux tutti e due i server, il precedente e anche che l'attuale sono sotto linux . Nella hom epage c'è il numero iscritti e presenti. Il numero iscritti non è altro che questa riga dicomando in index.php
<b>Cittadini Iscritti all'Anagrafe :<br><?= Stats('', "SELECT Count(Nome) FROM Personaggio",''); ?> Cittadini di cui <?= $cont; ?> Presenti</b> </td></tr> e non esce nulla è strano questo pare che non corrisponda qualcosa sul db ma non capisco cosa
ho provato a ricollegarmi al vechio database sul la'ltro server è funziona il tutto e sul nuovo che non va Qualcosa
😭
08/10/2008 00:08:48
Di solito quando si fa un esportazione di banche dati bisogna tener presente alcune cose.
1) Se si esporta in formato ISO gli accenti e gli apici vengono troncati.
2) Il codice php che inserisce le informazioni deve essere ottimizzato.
Soluzione:
1) cambiare prima la collation in utf8, quindi esportare nel medesimo formato.
2) MySql 5 non accetta inserimenti diretti con testo grezzo, ma deve essere trasformato in modo digeribile per lui, quindi un htmentity() sarebbe consigliato.
Va da se che sql ha preso una forma case insesitive, quindi si può scrivere il codice sql, sia in maiuscolo che minuscolo.
MySql 5 inoltre ha cambiato alcuni parametri nella selezione del DB potendo usare istruzioni più complesse, ma nel contempo vuole una sintassi impeccabile.
In caso contrario non funziona, ma per poter vedere cosa dice il DB io ci metterei un bel or die() come è stato detto, e in caso estremo gli metterei nelle pagine incriminate questa funzione error_reporting(E_ALL); da mettere all'inizio pagina prima dell'esecuzione del codice.
Questa cosa può aiutare in particolare se l'hosting ha bloccato gli errori e i warning, quindi si può fare un debugging.
08/10/2008 09:22:57 e modificato da bruce il 08/10/2008 09:24:30
Grazie vlad_le_ombre, allora il problema numero uno non dovrebbe esserci, inquanto essendo il file dump generato per l'export del database con phpMYadmin del vecchio server è grande per essere importato con phpMyadmin, per cui è stato fatto dal gestore del hosting manualmente.
Riguardo al punto 2 di mettere la location utf8, dove va fatto? In teoria dovrebbe essere già così
L'altra istruzione che hai scritto htmentity() non saprei dove farla, scusami ma è da poco che uso php.
i parametri di connessione al database sono inseriti nel file pasword.inc.php che riporto sotto e coincidono con i nomi del databse user e password associato
<?
#parametri di connessiomne
$par_DbUser = 'nomeutente'; #UserMySQL
$par_DbPassword = '******'; #PassMySQL
$par_Conn = 'DB_Prova'; #NomeDB
$par_DbHost = 'ns4.europeanwebhost.com'; #NomeHost
#HELP: Sostituire le diciture inserite tra le virgolette con i parametri di connessione al Database del proprio dominio. Essi sono forniti al momento della registrazione. Se non si e' in possesso di tali parametri consultare #le FAQ della homepage dell'host che fornisce il dominio. Se non le si trovano li contattare lo staff dell'host.
?>
Continuo ad avere sempre i medesimi problemi. Riguardo al die() è già presente pare che la connessione al database funzioni in quanto non mi da erroe dati. Sembra più un problema di lettura delle tabelle o qualcosa del genere all'interno del db. Non so proprio 😭
08/10/2008 15:35:08
Prego bruce.
La collation la si definisce prima di creare il db, quindi nel phpMyadmin troverai la dicitura collation, scegli utf 8 general ci, in questo modo supporta tutti i caratteri, anche quelli stranieri.
Di default MySql se non settato differentemente parte con ISO della lingua locale.
Per htmlentities si inseriscono le variabili $testo = htmlentities($testo, ENT_QUOTES); prima dell'inserimento dei dati nel db, l'istruzione ENT_QUOTES serve per trasformare anche gli apici doppi e singoli, in questo modo non crea problemi di inserimento nel db.
Considerato che l'esportazione delle tabelle è avvenuta manualmente, sarebbe da controllare i nomi dei vari campi e fare un confronto con le istruzioni delle pagine, essendo case sensitive, rileva sia maiuscole che minuscole.
Quindi:
$sql="SELECT * FROM utenti WHERE nome";
e
$sql="SELECT *FROM Utenti WHERE Nome";
sono diversi perchè il nome della tabella è case sensitive, quindi le maiuscole prendono un valore diverso dalle minuscole, anche se sono la medesima parola, infatti e buona norma utilizzare tutto minuscolo o tutto maiuscolo.
Controlla le varie stringhe delle select e vedi se i nomi delle tabelle sono uguali a quelle che hai nel db.
Ci potrebbero essere altre spiegazioni, altri errori, ma non avendo sottomano il server e il codice è un po dura dare indicazioni maggiori.
08/10/2008 19:46:13
Grazie mille vlad_le_ombre. Ho testato e facendo dei controlli ho visto che i nomi delle tabelle sono tutti in minucolo su db mysql mentre tutte le select sulle pagine php, del gdrcd sono tutte con l'iniziale maisucolo. Infatti avevo notato che non si trattava di un errore di parametri di connessione al db sul server, in quanto non mi dava errore dati, ma non eseguiva le query in quanto le tabelle per la versione 5 non esistevano.O_O
Mi tocca adessi armarmi di santa apzienza e modificare tutte le pagine php e le query. Grezie dell'aiuto fornitomi, è stato molto prezioso.
Grzie anche a tutti gli altri che mi hanno risposto e dato dei consigli e aiuto.:-)
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Il gestore di Il Grande Blu ha risposto alla recensione di spike92
Felix Felicis GdR - Harry Potter GdR: La Resistenza?
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
venus dormiens ha aperto un annuncio di ricerca: Origo Haeredis - Harry Potter Gdr ricerca Giocatore
Metin2: Server Boost Yohara – Dettagli e FAQ
Sea of Conquest: Ci dai una mano ai #PocketGamer Awards 2024?
goldaries ha recensito Games of Thrones Winter is Coming
DarkOrbit → Galassie remote e pericoli in agguato ti attendono. Vinci battaglie avvincenti in DarkOrbit: diventa un cosmonauta temerario e combatti!
spike92 ha recensito Il Grande Blu
World of Warship: Aggiornamento 13.11: anteprima
gdr-online.com ha risposto alla discussione: Parere su BrowserGame
W40K Dathyar: Specializzazioni
Sea of Conquest → Vivi un'avventura tra i mari! Dal cuore del Mare del Diavolo, un paradiso piratesco brulicante di magia, tesori e avventure, salperai verso l'ignoto!
NosTale: Ora nel NosMall: dolcissimi mini-pet
DarkOrbit: Aggiorna la scatola dell'Apocalisse!
I dati del generatore di rank sono stati aggiornati!
aik ha aperto una nuova discussione: Parere su BrowserGame
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
Web e Italiani - Gli Italiani e il Web: quali sono le attività che preferiscono
Player dei PbC - Articolo semiserio sui giocatori che si possono trovare nei play by chat italiani suddivisi per tipologia!
Azioni nei Gdr - Le azioni nei gdr on line sono fra le fasi più delicate ed importanti per un buon gioco..
Storia del GdR - Storia dei Giochi di Ruolo cartacei dagli albori al Duemila
Les Ombres de Bruges - Recensione del play by chat Les Ombres de Bruges: il gotico moderno!
Politica dei Vertici - Consigli utili, piccole accortezze, e riflessioni sulla politica dei Gestori nei GDR