【问题标题】:codeigniter form not submitting fieldscodeigniter 表单未提交字段
【发布时间】:2013-06-11 17:36:53
【问题描述】:

我是 codeigniter 的新手。我遇到了一个问题,我的表单没有发布值,我不知道为什么。 当前站点在本地服务器和我的测试服务器上运行良好。当我在客户端服务器上传输完整站点时,出现了这个问题。

我已经检查过,htaccess 已启用。我也在粘贴我的视图和控制器。 请帮帮我

查看

<form name="form1" method="post" action="index.php/search/make_url">
    <div class="search_form">

        <label for="shop"></label>
        <select name="category" id="select">
          <option value="0">-- Shops / Webshops --</option>
          <?php 
            $cats=load_categories();
            foreach($cats as $cat){
          ?>
            <option value="<?php echo $cat->cat_name_en."---".$cat->catId;?>"><?php echo $cat->cat_name_en;?></option>
          <?php }?>
        </select>
        <select name="product">
          <option value="0">-- <?php echo $this->lang->line("text_select_prod");?> --</option>
          <?php 
            $cats=load_products();
            foreach($cats as $cat){
          ?>
          <option value="<?php echo $cat->p_name_en;?>---<?php echo $cat->pId;?>"><?php echo $cat->p_name_en;?></option>
          <?php }?>
        </select>
        <label for="select2"></label>
        <select name="brand" id="brand">
          <option value="0">-- <?php echo $this->lang->line("text_select_chose_brand");?> --</option>
          <?php 
            $cats=load_brands();
            foreach($cats as $cat){
          ?>
          <option value="<?php echo $cat->brand_name_en;?>---<?php echo $cat->brandId;?>"><?php echo $cat->brand_name_en;?></option>
          <?php }?>
        </select>
        <label for="select3"></label>
        <select name="country" id="country"  onchange="getCity(this.value);">
          <option value="0">-- <?php echo $this->lang->line("text_select_country");?> ---</option>
          <?php 
            $cats=load_country();
            foreach($cats as $cat){
          ?>
          <option value="<?php echo $cat->cn_name;?>---<?php echo $cat->cnId;?>"><?php echo $cat->cn_name;?></option>
          <?php }?>
        </select>
        <label for="select4"></label>
        <div id="cityBlock">
        <select name="city" id="city">
          <option value="0">-- <?php echo $this->lang->line("text_select_city");?> --</option>
        </select>
        </div>
        <input type="submit" name="btn" value="<?php echo $this->lang->line("text_btn_submit");?>">

    </div>
    </form>

控制器

public function make_url()
{
    $url=$this->uri->assoc_to_uri($_POST);
    redirect(base_url()."index.php/search/for/". $url);
}

提前致谢

【问题讨论】:

  • 检查服务器错误日志。
  • 如果将 make_url() 更改为以下内容,输出是什么?公共函数 make_url() { var_dump($_POST);回声 $base_url(); }
  • 这在我看来是一个非常混乱的实现,为什么不解释一下您的要求,我们会尽力为您提供更好的实现方式
  • 感谢您的建议,但我无权访问日志文件。
  • 感谢您的建议,但我无权访问日志文件。当我添加 var_dump($_POST)echo base_url.It dsiplays array(0) { } 和相应的 url。该视图包含在帮助程序中定义的简单功能,例如获取国家、城市等的记录。而控制器收集发布数据并将它们转换为表单字段名称/值格式,例如 index.php/country/1/City/2/brand/刘易斯等。这在任何地方都可以正常工作,但在客户端的服务器上却没有。请让我知道,如果服务器配置或 CI 配置中缺少其他设置或其他点,或者我可以通过其他方式做到这一点。

标签: php html forms codeigniter


【解决方案1】:

这样查看:

<?=form_open('immovable/personal/add_personal');?>
<input type='text' id='fname' name='fname' required />
<input type='text' id='lname' name='lname' required />
<input type='submit' value='Submit' />
<?=form_close()?>

【讨论】:

  • 感谢我完成了这项工作。问题是由于表单的操作和基本标签造成的。我刚刚删除了那个基本标签,一切正常。但原因仍然未知
【解决方案2】:

我后来解决了这个问题。 问题是 Head 标签中使用的基本标签。我只是将其删除,并且网站可以正常运行。

【讨论】:

    【解决方案3】:

    $config[suffix]是上述问题的解决方案

    请参阅此link 以获得更好的解释

    【讨论】:

      猜你喜欢
      • 2011-02-24
      • 1970-01-01
      • 2018-03-19
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      相关资源
      最近更新 更多