【发布时间】: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