【问题标题】:Instead of Form action and method而不是 Form 动作和方法
【发布时间】:2012-02-08 07:33:58
【问题描述】:
<?php echo validation_errors(); ?>

<?php echo form_open('form'); ?>
    <input type="text" name="something" />
    <input type="submit" value="submit"/>
</form>

我发现没有像中的“动作”和“方法”

<form action="/application/controler/somepage.php" method="POST">
</form>

我想在按下按钮提交后获取在文本框中输入的值。我怎样才能做到与前者相同(通过 POST 或 GET 提交的值)?

另外,如果我想获取 URL 中传递的值 http://localhost/index.php/something?value=75&amp;today=Wed

例如,75Wed

【问题讨论】:

  • 最好使用form_close() 而不是&lt;/form&gt;。个人意见避免IDE“代码清理”问题。

标签: php codeigniter


【解决方案1】:

试试这个:

echo form_open('controller/somepage', array('method'=>'get'));

【讨论】:

  • 通过在代码之前添加 4 个空格或将其放在 `` 字符之间来缩进代码。
【解决方案2】:

CodeIgniter Form Helper Documentation 表明您传递给form_open() 函数的第一个参数是您要发布到的 URL。 URL 语义是 CodeIgniter 的重要组成部分,如果您要发布到应用程序内部的某个位置,请使用:

<?= form_open('index.php/controller/function/param1/param2');?>

CodeIgniter 默认使用method='post'

CodeIgniter 本身不支持 method='get' 形式的参数,因为它处理 URL 的方式。而不是 URL:

http://localhost/myapp/index.php/something?value=75&today=Wed

CodeIgniter 的方式是:

http://localhost/myapp/index.php/mycontroller/myfunction/75/Wed

然后你可以在你的控制器中定义一个函数

function myfunction($value, $day)
{
//do whatever you want with the $value and the $day here.
}

【讨论】:

  • 从未尝试过使用它,但 CI 现在似乎对 GET 的支持很好。
【解决方案3】:

尝试:

echo form_open('controller/somepage');

查看文档:

http://codeigniter.com/user_guide/helpers/form_helper.html

【讨论】:

    【解决方案4】:

    如果要将方法更改为GET,则必须将属性添加到form_open()

    $attribute['method'] = 'get';
    echo form_open(THE_ACTION_URL, $attribute);
    

    或者,您可以创建自己的helper 以获得更快的方法

    function form_open_get($action, $attribute = NULL, $hidden = NULL)
    {
        $attribute['method'] = 'get';
        return form_open($action,$attribute,$hidden);
    }
    

    【讨论】:

      【解决方案5】:

      在表单前定义属性,例如:

      $attributes = 'method="get"';
      

      【讨论】:

        猜你喜欢
        • 2021-09-26
        • 1970-01-01
        • 1970-01-01
        • 2014-01-06
        • 2016-11-05
        • 2018-09-25
        • 1970-01-01
        • 2016-09-23
        • 2015-08-27
        相关资源
        最近更新 更多