Back to top

Autore Topic: [RISOLTO] ID nuovi utenti e articoli = 0  (Letto 1147 volte)

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
[RISOLTO] ID nuovi utenti e articoli = 0
« il: 16 Apr 2016, 15:55:28 »
Buongiorno,
da un paio di giorni è impossibile registrare nuovi utenti e nuovi articoli poiché il sistema attribuisce loro un ID = 0.
La versione di Joomla è l'ultima disponibile.
Il problema non è sorto dopo alcuna installazione di moduli o componenti.
Ho solo provato uno script php per l'import degli utenti da file CSV.
Anche dopo il ripristino di un backup di files e cartelle di joomla + database salvato quando tutto funzionava correttamente, il problema non si è risolto.

Per cortesia, qualcuno può aiutarmi?
Grazie

Filippo
« Ultima modifica: 17 Apr 2016, 01:10:50 da filippo »

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:ID nuovi utenti e articoli = 0
« Risposta #1 il: 16 Apr 2016, 16:21:55 »
forse lo script ti ha corrotto il database:
prova ad andare in

estensioni>>gestione>>database>>correggi
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:ID nuovi utenti e articoli = 0
« Risposta #2 il: 16 Apr 2016, 16:29:27 »
Giuseppe grazie per la risposta.

Questo è quanto indicato:
Citazione
La struttura delle tabelle del Database è aggiornata.

Altre informazioni
•Versione schema Database (in #__schemas): 3.5.1-2016-03-29.
•Versione aggiornamento (in #__extensions): 3.5.1.
•Database driver: mysqli.
•Sono state controllate correttamente 94 modifiche al database.
•146 modifiche al database non hanno alterato la struttura delle tabelle e sono state ignorate.

Ho digitato cmq il comando correggi ma senza risultato. Quando ho riprovato a creare un nuovo utente mi è ricomparso l'errore:
Citazione
Salvataggio fallito con il seguente errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 2)' at line 3 SQL=INSERT INTO `#__user_usergroup_map` (`user_id`,`group_id`) VALUES (, 2)

Lo script che ho usato è il seguente:
Codice: [Seleziona]
<?php
class smCONNECTION {
       
// ----> parametri di connessione al database
       
var $dbHost "localhost";            // host o indirizzo IP
       
var $dbNome "*********";          //Nome utente database mysql
       
var $dbUser "*********";            // user
       
var $dbPass "*********";            // pass
       
var $connessione NULL;
       var 
$output "";
       
// ----> metodo per attivare la
       // ----> connessione al database
       
public function connetti() {
             
$this->connessione mysql_connect($this->dbHost,
                                               
$this->dbUser,
                                               
$this->dbPass);
             
mysql_select_db($this->dbNome,$this->connessione);
             return 
$this->connessione;
       }
       
// ----> metodo per recuperare
       // ----> ultimo record inserito
       
public function selectRow($tabella,$campi,$where) {
             
$html "";
             
$sql "SELECT * FROM $tabella $where ORDER BY id ASC LIMIT 1";
             
$result = @mysql_query($sql,$this->connetti());
             
$num = @mysql_num_rows($result);
             
$records = @mysql_fetch_object($result);
             if (!
$num) {
                    
$this->output NULL;
             }
             else {
                    
$array = array();
                    foreach (
$campi as $k=>$v) {
                           
array_push($array,$records->$v);
                    }
                    @
mysql_free_result($result);
                    
$this->output $array;
             }
             return 
$this->output;
       }
       
// ----> metodo per recuperare una
       // ----> lista di record; usando questo metodo 
       // ----> vengono recuperati i record che rispettano determinate clausole
       
public function selectRows($tabella,$campi,$where,$order) {
             
$html "";
             
$sql "SELECT * FROM $tabella $where $order";
             
$result = @mysql_query($sql,$this->connetti());
             
$num = @mysql_num_rows($result);
             
$records = @mysql_fetch_object($result);
             if (!
$num) {
                    
$this->output NULL;
             }
             else {
                    
$array = array();
                    
$i 1;
                    while (
$records) {
                           
$lista = array();
                           foreach (
$campi as $k=>$v) {
                                  
array_push($lista,$records->$v);
                           }
                           
array_push($array,$lista); 
                           
$i++;
                           
$records = @mysql_fetch_object($result);
                    }
                    @
mysql_free_result($result);
                    
$this->output $array;
             }
             return 
$this->output;
       }
       
// ----> metodo per il salvataggio dei dati 
       // ----> su database; metodo generico,
       // ----> potrebbe essere usato per INSERT, UPDATE, DELETE
       
public function salva($sql) {
             @
mysql_query($sql,$this->connetti());
             
$this->output TRUE;
             return 
$this->output;     
       }
}
// ----> ----------------------------------
// ----> utilizzo della classe smCONNECTION
// ----> ----------------------------------
$sqlUtenti = new smCONNECTION;
// ----> parametri
$tabella "*********_users";
$campi "name,username,password,email";
// ----> lettura file CSV
$record explode("\r",file_get_contents('lista.csv'));
for (
$a=0$a<count($record); $a++) {
       
$utente explode(";",trim($record[$a]));
       if (
$utente[0] != '') {
             
$query "INSERT INTO $tabella ($campi) VALUES ('".$utente[0]."','".$utente[1]."','".md5($utente[2])."','".strtolower($utente[3])."');";
             echo 
$query."[br /]";      
             
$sqlUtenti->salva($query);
       }
}
echo 
"[br /][br /]Fatto...[br /]";
?>


Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:ID nuovi utenti e articoli = 0
« Risposta #3 il: 16 Apr 2016, 16:51:45 »
se hai un backup del database precedente all'operazione usalo per un ripristino.

Ripristinare i file non serve, il problema è sul database, per questo il tuo ripristino non è servito.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:ID nuovi utenti e articoli = 0
« Risposta #4 il: 16 Apr 2016, 17:06:51 »
Ora sto provando a caricare un backup dell'8/4 sia di sito che di database in una sottocartella per verificare come si comporta.

Ho già provato a caricare un backup del 13/4 solo del database, ma il problema non si è risolto.
Il 13/4 fino all'orario del backup tutto funzionava correttamente. Le prova di importazione degli utenti le ho fatte successivamente al backup.

Offline filippo

  • Nuovo arrivato
  • *
  • Post: 10
    • Mostra profilo
Re:ID nuovi utenti e articoli = 0
« Risposta #5 il: 17 Apr 2016, 01:10:24 »
Problema risolto: la procedura di importazione del backup di phpmyadmin non importava correttamente il file. Infatti, talvolta mi avvisava che era scaduto il tempo a disposizione per l'import e mi invitata a ricaricare il file per terminare l'importazione.

Ho provato dalla tab SQL ad incollare le query presenti all'interno del file .sql del backup. Al termine dell'importazione tutto è funzionato correttamente.

Grazie cmq per la disponibilità ed i consigli  ;)

Buona notte!

 



Web Design Bolzano Kreatif