Вместо формы действия и метод - PullRequest
6 голосов
/ 08 февраля 2012
<?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&today=Wed

это 75 и Wed, например.

Ответы [ 5 ]

17 голосов
/ 18 февраля 2014

Попробуйте это:

echo form_open('controller/somepage', array('method'=>'get'));
6 голосов
/ 08 февраля 2012

В документации помощника по форме CodeIgniter 1002 * указано, что первым параметром, который вы передаете в функцию 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.
}
1 голос
/ 08 февраля 2012

попробовать:

echo form_open('controller/somepage');

Посмотрите документацию:

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

0 голосов
/ 30 сентября 2018

Определите атрибут перед формой, например:

$attributes = 'method="get"';
0 голосов
/ 23 мая 2012

Если вы хотите изменить метод на 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...