将表单提交的数据作为函数参数获取

时间:2017-07-27 16:18:59

标签: php codeigniter

<form action="mycontroller/myfunction" method="GET">

    Age:
    <input type="number" name="age"><br>
    Mobile:
    <input type="text" name="mobile"><br>

    <input type="submit" name="submit" value="Save">
</form>

提交表单后,会转到mycontroller/myfunction?age=10&mobile=8801266451255

这样的网址

但我希望得到像mycontroller/myfunction/10/8801266451255

这样的网址

我在mycontroller控制器中有一个函数

public function myfunction($age='',$mobile='')
{

}

4 个答案:

答案 0 :(得分:0)

由于您声明这是Codeigniter,请考虑以下事项:

$this->uri->segment(1); // controller
$this->uri->segment(2); // action
$this->uri->segment(3); // 1stsegment
$this->uri->segment(4); // 2ndsegment

在您的:&#34; public function myfunction($age='',$mobile='')&#34;。

答案 1 :(得分:0)

通过post方法传递输入

查看:

<!-- Use CI form helper-->  
<?php echo form_open('controller_name/function', array('class'=>'form-horizontal')); ?>

   <label for="age" class="col-sm-2 control-label">Age:</label>
   <input type="number" name="age"><br>
Mobile:
   <label for="mobile" class="col-sm-2 control-label">Age:</label>
   <input type="text" name="mobile"><br>

   <input type="submit" name="submit" value="Save">

<?php echo form_close(); ?>

控制器:

my_function(){

 if($this->input->post('submit'){

    $age = $this->input->post('age');
    $mobile = $this->input->post('mobile');
 }

}

答案 2 :(得分:0)

您可能需要使用js或jquery

有很多方法可以解决这个问题,但我希望这会有助于解决这个问题。试试这个。

<form id="fm">

    Age:
    <input type="number" name="age" id="name"><br>
    Mobile:
    <input type="text" name="mobile" id="mob"><br>

    <input type="button" name="submit" value="Save" id="save">
</form>
<script>

$("#save").click(function(){
    var age= $("#name").val();
    var mobile= $("#mob").val();

    var data=age+"/"+mobile;
    alert(data);

    window.location='mycontroller/myfunction/'+data;

})

</script>

不要忘记包含jquery

答案 3 :(得分:0)

在另一个函数中使用GET / POST方法提交表单,然后使用参数重定向到myfunction

<form action="mycontroller/mynewfunction" method="POST">

Age:
<input type="number" name="age"><br>
Mobile:
<input type="text" name="mobile"><br>

<input type="submit" name="submit" value="Save">

然后在控制器

public function mynewfunction()
{
    $age=$this->input->post('age');
    $mobile=$this->input->post('mobile');

    redirect("mycontroller/myfunction/$age/$mobile");
}

此过程有助于验证表单