Доступ к данным html-элементов и отправка на контроллер в PHP - PullRequest
0 голосов
/ 28 февраля 2012

Я супер новичок в php, и я использую php-фреймворк MVC под названием Yii.Я не могу найти какие-либо статьи, которые объясняют, как получить значения HTML-элементов с помощью PHP.Куда бы я ни посмотрел, все дело в том, как получить значения из полей формы после POST в каком-либо другом представлении.В любом случае можно получить значения полей и отправить их на контроллер в PHP и просто вернуться к исходному виду.

В .Net MVC я просто использую jquery для получения полей формы и выполнения вызова ajax.Это не конфиденциальные данные, поэтому я не беспокоюсь о безопасности.Мне нравится ajax, потому что я не делаю пост страницы назад, я просто отправляю свои данные и остаюсь на той же странице, на которой был.с PHP?Считать значения элементов html и отправить их в контроллер для манипулирования данными?

1 Ответ

1 голос
/ 28 февраля 2012

Работает так же. Yii поставляется в комплекте с jquery, так что вы

просто используйте jquery для получения полей формы и выполнения вызова ajax

для какой-либо функции контроллера, делайте с ней что хотите и возвращайте ответ с php echo.

Если вы уже знаете некоторые jquery, то клиентская сторона не должна сильно отличаться от .net mvc.

Изменить:
Чтобы добавить <script> к сгенерированному html, см. registerScript .

Для создания URL-адресов используйте функцию createUrl .

Чтобы добавить параметры ajax в теги html, код выглядит примерно так:

echo CHtml::checkBox('mybox',false,
  array(// array for htmloptions, we also pass ajax options in here
    'class'=>'checkBoxes_class',
    'ajax'=>array(// this is ajax options for jquery's ajax
      'type'=>'POST',
      'url'=>Yii::app->createUrl('xyz',array('clickedboxid'=>'mybox')), // here you passed clickedboxid as a get variable
      'beforeSend'=>'function(){}',
      'success'=>'',
      // etc etc
    )
  )
);

Каждая вспомогательная функция генератора тегов html принимает массив htmlOptions, куда мы также можем передавать опции ajax .

При чтении этих значений в контроллере:

public function actionSomeAction($id){
   // $id is mybox
   echo "Hello"; // this is returned as response to the client
}

Надеюсь, этого достаточно для начала.

...