#cakephp
#cakephp
Вопрос:
перейдем к следующему вопросу о CakePHP 🙂
В php я могу имитировать отправку формы, например, просматривая URL-адрес, например
<a href="index.php?click=yesamp;ip=127.0.0.1">submit youre ip</a>
это позволит отправить форму на index.php со значениями щелчка, равными yes, и ip, равным 127.0.0.1, без необходимости нажимать форму отправки.
Как мне добиться того же в CakePHP?
Заранее спасибо за любую помощь в этом!
Комментарии:
1. Извините, форматирование сократило часть описания моего вопроса.
2. никогда не используйте GET для выполнения задания POST.
Ответ №1:
Вам нужно будет настроить индексное действие в контроллере.
Пример:
Если вы хотите добавить пользователя с указанными выше данными, вы можете сделать следующее:
class UsersController extends AppController {
function add($click, $ip) {
$this->User->set(array('click' => $click, 'ipaddress' => $ip);
$this->User->save();
}
}
Теперь, если вы перейдете к http://localhost/users/add/yes/127.0.0.1 он должен сохранить данные…
Комментарии:
1. Отлично, спасибо, теперь я вижу это так, это было довольно просто 🙂
Ответ №2:
Вы можете использовать jQuery для этого примерно следующим образом:
$('#my-link').click(function(){
$('#my-form').submit();
});
РЕДАКТИРОВАТЬ: это также соответствует вашим интересам
Комментарии:
1. Привет, 8vius, извините, потому что форматирование было неправильным, это фактически сократило часть моего вопроса, я обновил это. Я также просмотрел и принял ответы на предыдущие вопросы. Обычно забываю сделать это после того, как получу ответ, когда вернусь к кодированию 🙂 Спасибо за совет, хотя
2. Вам нужно чисто PHP-решение?
3. Ну, вы уже пробовали решение, которое я уже высказал? Используете ли вы jQuery в своем проекте?
4. да, вы пропустили мой вопрос, я уже использую подобное решение, но что мне на самом деле установить #my-form в URL-адресе cakephp? например, при написании моего собственного кода #my-form будет иметь значение index.php?click=yesamp;ip = 127.0.0.1 каково было бы, чтобы действительный URL-адрес cakephp выполнял то же действие?
5. Как вы создаете свои формы? Когда вы создаете форму в CakePHP, она уже по умолчанию указывает на действие в вашем контроллере. Отправляя ее, вы выполняете публикацию для действия, на которое она указывает.
Ответ №3:
В Cake 2.0 вы должны создать ссылку таким образом:
<?php echo $this->Html->link('submit your ip', array(
'controller' => 'users',
'action' => 'index',//this is not necessary since index is the default action
'?' => array('click' => 'yes', 'ip' => '127.0.0.1'))
);?>
и это создаст:
<a href="/users/?click=yesamp;ip=127.0.0.1">submit your ip</a>
Затем вы получаете данные в своем пользовательском контроллере через $this-> request-> query
Для лучшего понимания посмотрите это и это.
Надеюсь, это поможет.