Intereting Posts
не может вставить русский текст в базу данных mysql Как я могу добавить слушателя Javascript для захвата ввода с помощью сканера штрих-кода Bluetooth на iPad? CodeIgniter – Ошибка MySQL 1064 (Обновить таблицу1 внутреннее соединение table2 (…)) PHP подготовил операторы и транзакции в цикле spl_object_hash () ожидает, что параметр 1 будет объектом, null Расшифровать mcrypt с помощью openssl Может ли входное имя HTML содержать пробелы, запятые и т. Д.? Как установить переменные $ _SERVER при запуске тестов phpunit через Jenkins Как я могу выйти из неактивных пользователей через 30 минут? URL переписать, чтобы добавить каталог в начале URL-адреса Stripe: нет такого токена .. аналогичный объект существует в тестовом режиме, но для выполнения этого запроса использовался клавиша режима реального времени Управление вызовом AJAX с помощью Zend Framework Как захватить все переменные в сообщении (PHP) Сервер Mysql ушел при хранении большого (2 МБ) аудиофайла в LONGBLOB unserialize multiple array и echo, передавая более двух параметров методу arraycombine

как вызвать функцию контроллера из вида в кодегниторе?

Привет всем здесь, здесь, с кодогенератором! У меня есть контроллер, как в следующем:

<?php if(!defined ('BASEPATH')) exit('not found basepath'); class **myController** extends CI_Controller{ function __constructor(){ parent::__constructor(); } public function index(){ $this->load->view('myview'); } **public function myFn()**{ echo "my controller is called"; } } ?> 

и вид выглядит следующим образом:

 <form action="<?php echo base_url();?>myController/myFn" method="post" name="myform"> <input type="submit" name="submit" value="submit"/> </form> 

проблема в том, что когда я запускаю представление, перейдя на localhost после нажатия на ссылку submit m, следующей следующей ошибкой !!!

 **The requested URL /CodeIgniter/myController/myFn was not found on this server.** 

но когда я ставлю **http://localhost/CodeIgniter/index.php/myController/myFn** я получил правильный вывод о том, что кто-то здесь, кто может мне помочь в этом отношении thnx заранее ….

В вашем контроллере просто удалите '**'.

load-> Вид ( 'MyView'); } public function myFn () {echo "мой контроллер называется"; }}?>

И, на ваш взгляд, попробуйте:

когда вы запускаете представление

 <form action="<?php echo base_url();?>myController/myFn" method="post" name="myform"> <input type="submit" name="submit" value="submit"/> </form> 

используйте элемент проверки, чтобы увидеть, является ли действие в теге формы таким же, как

 **http://localhost/CodeIgniter/index.php/myController/myFn** 

Сторона просмотра

  <form method="post" action="<?php echo base_url();?>index.php?controlerfile/test" class="form"> Message: <input type="text" name="message"> <input type="submit" value="submit"> <div> You have entered: <?php echo $message; ?> </div> 

controllerfile

 function test() { $data['message']= $this->input->post('message'); //$this->output->append_output($message); $this->load->view('backend/test',$data); } 

Надеюсь, что это поможет вам..

если вы хотите вызвать функцию контроллера, например this /CodeIgniter/myController/myFn тогда вам нужно удалить файл index.php с помощью файла .htaccess. Сначала вы меняете файл config.php следующим образом.

 // Remove index.php $config['index_page'] = "" 

затем создайте файл .htaccess и скопируйте этот код в этот файл.

 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> 

Затем поместите этот файл .htaccess в папку проекта codeignator.

См. Ссылку: – введите ссылку здесь