php – 无法在codeigniter控制器中获取POST数据
发布时间:2020-12-13 18:06:13 所属栏目:PHP教程 来源:网络整理
导读:出于某种原因,我似乎无法在codeigniter控制器中发布数据.我把它分解成一个非常简单的形式来测试它,但仍然没有运气.如果我使用method =“get”它可以正常工作.无论如何,下面是表单,控制器/功能和我的.htaccess.任何帮助将非常感激.另外,我在这里看到了一些其
出于某种原因,我似乎无法在codeigniter控制器中发布数据.我把它分解成一个非常简单的形式来测试它,但仍然没有运气.如果我使用method =“get”它可以正常工作.无论如何,下面是表单,控制器/功能和我的.htaccess.任何帮助将非常感激.另外,我在这里看到了一些其他类似的问题,但是他们似乎没有一个对我有用的答案.
形成: <form id="bundleOrderInfo" name="bundleOrderInfo" action="<?php echo(base_url()); ?>catalog/bundleSubmit" method="post"> <input type="text" name ="test" id="test" value="blahblah"></input> <input type="submit"></input> </form> 控制器/功能: public function bundleSubmit() { $this->output->enable_profiler(); $this->load->model('catalog_model'); $data['availableCategories']=$this->catalog_model->getCategories(); $data['availableItems'] = $this->catalog_model->getByCategory($data['availableCategories']); $testing = $this->catalog_model->formData(); $this->load->view('templates/header'); $this->load->view('templates/menu',$data); print_r($_POST); } 的.htaccess: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$/ITPortal/index.php?/$1 [L] RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$/index.php?/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ITPortal/index.php?/$1 [L] </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 /ITPortal/index.php </IfModule>
动作应该直接指向控制器功能,如果你尝试FormHelper,你的生活会更容易
http://ellislab.com/codeigniter/user-guide/helpers/form_helper.html 尝试在构造函数[__construct()函数]中加载模型,帮助器,库,这是一个很好的正确方法. 调节器 function __construct() { parent:: __construct(); $this->load->helper('form'); //loading form helper $this->load->model('catalog_model'); //loading your model } function bundleSubmit() { $this->catalogmodel->insertFromForm(); //calling your method from model } 通常你应该在模型中捕捉已发布的值 模型 function insertFromForm() { $name= $this->input->post('name'); print_r($name); die(); // stop the process here } 视图 <?php echo form_open('catalog/bundleSubmit','id="bundleOrderInfo" name="bundleOrderInfo"') ;?> //you can also do this,this should be enough //<?php echo form_open('catalog/bundleSubmit')?> <input type="text" name ="test" id="test" value="blahblah"></input> <input type="submit" value="Submit"></input> <?php echo form_close();?> 加成 'catalog/BundleSubmit' in form mean means your form posted values will goes to to 'controller/function()' and controller will redirect to a method in model 'model/insertDataFromForm" 如果您想了解更多信息,可以查看CI的目录 如何工作 http://ellislab.com/codeigniter/user-guide/overview/appflow.html 更多信息 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |