gpt4 book ai didi

php - codeigniter Controller 无法识别传递的变量

转载 作者:行者123 更新时间:2023-11-30 13:21:51 25 4
gpt4 key购买 nike

我不知道我是否正确地表述了这个问题,但让我试着更好地解释一下自己。
我的页面上有以下菜单,一旦选择了新的选择就会输出新的结果: select menus

Izaberite pol:Izaberite studente: 分别包含 3 个选项 oba, zenski, muskioba, stari, novi分别。

我添加了一些 Javascript 来识别选项更改并自动调用 Controller 操作:

$("select.filter").change(function () {
var str = "";
$("select option:selected").each(function () {
str += $(this).attr('value') + "/";
});
window.open("http://vipassana-srbija.comli.com/index.php/login/trust/"+str,"_self");
});

正如您从 Javacript 代码中看到的那样,它将调用 Controller 的登录信任函数:

public function trust($tabela="letnji",$pol="oba", $student="oba"){

$data['rezultat']= $this->prijava_model->zgrabi_tabelu($tabela,$pol,$student);
$data['tabela']=$tabela;
$data['pol']=$pol;
$data['student']=$student;

$prijavljen = $this->session->userdata('prijavljen');
if($prijavljen)
{
$this->load->view('prijava/trust.php', $data);
}
else
{
redirect('login');
}
}

此外你会注意到它使用了 Prijava_model 模型的 zgrabi_tabelu 函数:

function zgrabi_tabelu($tabela,$pol,$student){
$upit_rezultat=array();

if($pol=="oba" && $student="oba")
$upit = $this->db->get($tabela);
else if($pol!="oba" && $student!="oba")
$upit=$this->db->get_where($tabela,array('pol'=>$pol,'stari_novi_student'=>$student));
else if($pol!="oba" && $student=="oba")
$upit=$this->db->get_where($tabela, array('pol'=>$pol));
else if( $pol=="oba" && $student!="oba")
;//$upit=$this->db->get_where($tabela, array('stari_novi_student'=>$student));

foreach($upit->result() as $red){
array_push($upit_rezultat, $red);
}

return $upit_rezultat;
}

而且我认为模型的 zgrabi_tabelu 函数存在问题,因为除了最后一个,当我尝试通过仅更改最后一个选择菜单 来获取数据时,所有可能的组合都可以正常工作Izaberite studente: 保留所有其他选项不变:

doesn't work1&& doesn't work2不会工作

但是当我将之前的字段 Izaberite pol: 更改为 Oba 之外的任何内容时,它会正常工作:

works

最后让我为您提供菜单项的 HTML:

<div>
<label>Izaberite kurs:</label>
<select class="kurs" id="kurs_datum">
<option value="letnji" selected='selected'>Letnji kurs(27.6 - 7.7.2012)</option>
<option value="jesenji" >Jesenji kurs(10.10 - 21.10.2012)</option>
</select>
</div>
<div>
<label>Izaberite pol:</label>
<select class="filter" id="pol">
<option value="oba" selected='selected'>Oba</option>
<option value="zenski" >Ženski</option>
<option value="muski" >Muški</option>
</select>
</div>
<div>
<label>Izaberite studente:</label>
<select class="filter" id="student">
<option value="oba" selected='selected'>Oba</option>
<option value="novi" >Novi</option>
<option value="stari" >Stari</option>
</select>
</div>

希望这是有道理的。如有必要,我很乐意进一步澄清这一点。
任何帮助表示赞赏。

最佳答案

在你打开一个新窗口的 jquery 调用中,我想你想删除那个逗号并在那里放一个斜线

所以改变这个:

window.open("http://vipassana-srbija.comli.com/index.php/login/trust/"+str,"_self");

到:

window.open("http://vipassana-srbija.comli.com/index.php/login/trust/"+str+"/_self");

关于php - codeigniter Controller 无法识别传递的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com