Sto seguendo la documentazione di CodeIgniter ed ho un problema con la connessione al database.
Sono nella sezione per la validazione dei form, si dice di inserire nel controller queste righe
Codice PHP:
$this->form_validation->set_rules('username', 'Username', 'required|min_length[5]|max_length[12]|is_unique[users.username]');
$this->form_validation->set_rules('password', 'Password', 'required|matches[passconf]');
$this->form_validation->set_rules('passconf', 'Password Confirmation', 'required');
$this->form_validation->set_rules('email', 'Email', 'required|valid_email|is_unique[users.email]');
Nel db ho una tabella che si chiama users e contiene i campi id, username, password ed email.
Ho inserito nella tabella qualche utente.
Per la connessione al db ho provato sia impostandola nel file autoload.php che manualmente nel controller, ovviamente non entrambe contemporaneamente.
Ecco cosa succede:
- se vado sulla pagina col form avendo impostato la connessione ottengo una pagina bianca
- se ci vado togliendo la connessione ottengo un errore perché manca la classe $db
- se ci vado senza connessione e senza is_unique nella validazione, il form appare e funziona
Le impostazioni per la connessione al db mi sembrano corrette, eccole
Codice PHP:
$active_group = 'default';
$active_record = FALSE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'root';
$db['default']['database'] = 'codeigniter';
$db['default']['dbdriver'] = 'mysqli';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
Cosa può esserci che non va?