私は、CI の問題で困難な場所と岩の間にいます。ユーザーが入力したユーザー名とパスワードを使用して、DB に動的に接続する必要があります。これらは、Oracle のユーザー名とパスワードです。そのため、その情報を使用して DB に接続し、アプリケーション内のさまざまなモデルとコントローラーに対応できるようにしておく必要があります。
ログインコントローラーとログインビューがあります。database.php および config.php ファイルからのデータベースの自動ロードを無効にしました。
次に、login.php コントローラーは次のようになります。
class Login extends CI_Controller {
public function index()
{
$this->output->enable_profiler(TRUE);
if (isset($_POST['ingresar'])){
$db['hostname'] = 'myhost';
$db['username'] = $_POST['usr'];
$db['password'] = $_POST['pwd'];
$db['database'] = 'DBname';
$db['dbdriver'] = 'oci8';
$db['dbprefix'] = '';
$db['pconnect'] = FALSE;
$db['db_debug'] = FALSE;
$db['cache_on'] = FALSE;
$db['cachedir'] = '';
$db['char_set'] = 'WE8ISO8859P1';
$db['dbcollat'] = '';
$db['swap_pre'] = '';
$db['autoinit'] = TRUE;
$db['stricton'] = FALSE;
$db['DB'] = $this->load->database($_SESSION, TRUE);
redirect('contactos', 'location');
}
else{
$this->load->view('/componentes/header');
$this->load->view('/componentes/menu_sin_login');
$this->load->view('/login/login');
$this->load->view('/componentes/footer');
}
}
コントローラーが他のコントローラー「contactos」にリダイレクトすると、モデルをロードしようとしたときにデータベース接続が認識されないため、5 行目ですべてがクラッシュします。
class Contactos extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('Contactos_model');
$this->load->model('Componentes_model');.....
あなたが提供できるどんな助けも本当に感謝しています.
よろしく、V