Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Не работает форма

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Fubu_By

цитировать



Зарегистрирован: 14 Июл 2009 14:57:59
Сообщения: 4

СообщениеДобавлено: 14 Июл 2009 15:05:53    Заголовок сообщения: Не работает форма Ответить с цитатой

вот форма
Код:
<form action="/admin/editArticle" method="POST">
<div class="err"><?=$errMsg?></div>
<table cellpadding="0" cellspacing="5">
<tr>
   <td>Рубрика</td>
   <td><input id="complete" autocomplete="off" type="text" name="data[Article][section]" value="<?=IaHelper::IssetA($data, '', 'Article', 'section')?>"></td>
</tr>
</table>
<input type="submit" name="saveSubmit" value="Сохранить"><br>
</form>

а вот контроллер
Код:
<?
class AdminController extends AppController {
   var $name = 'Admin';
   var $layout = 'admin_layout';
   var $uses = array('Article');
   var $helpers = array('Fck', 'Ia', 'Html','Ajax','Javascript');
   var $paginate = array(
      'Article' => array(
         'limit' => 5,
         'order' => array('Article.title' => 'asc')
      )
   );
   
   var $components = array('RequestHandler');

   function index() {
   }

   function editArticle($id = 0) {
      $errMsg = '';

      $data = array();

      if ($id) {
         $data = $this->Article->findById($id);
      }

      if (isset($this->data)) {
         $data = array_merge($data, $this->data);
      }
      
      if ($this->RequestHandler->isPost())
      {
         $this->Article->save($data);
      }
      
      $this->set('id', $id);
      $this->set('data', $data);
      $this->set('errMsg', $errMsg);
   }
}


в function editArticle($id = 0) не приходят данные , $this->data нету
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 15 Июл 2009 15:20:37    Заголовок сообщения: Ответить с цитатой

И правильно делают, что не приходят.

Форма отправляет данные: /admin/editArticle

А ты их пытаешься найти тут: /editArticle
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гость

цитировать






СообщениеДобавлено: 15 Июл 2009 17:59:37    Заголовок сообщения: Ответить с цитатой Изменить/удалить это сообщение

почему ищу в /editArticle, если я создаю форму этим же методом которому и отправляю??? по адрему /admin/editArticle
Вернуться к началу
Fubu_By

цитировать



Зарегистрирован: 14 Июл 2009 14:57:59
Сообщения: 4

СообщениеДобавлено: 15 Июл 2009 18:20:32    Заголовок сообщения: Ответить с цитатой

тем более что если я передаю данные GET-ом то переменная $_GET содержит всё что передаю
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
nws

цитировать



Зарегистрирован: 25 Фев 2008 15:42:23
Сообщения: 96

СообщениеДобавлено: 19 Июл 2009 01:05:20    Заголовок сообщения: Ответить с цитатой

Код:
<?php
echo $form->create('model_name', array('action' => 'method_name', 'type' =>'GET'));
$value = IaHelper::IssetA($data, '', 'Article', 'section');
?>
<table cellpadding="0" cellspacing="5">
<tr>
   <td>Рубрика</td>
   <td>
      <?php echo $form->input('Complete', array('label' => 'false', 'autocomplete' =>'off', 'value' => $value)); ?>
   </td>
</tr>
</table>
<?php
echo $form->end('Сохранить');
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 20 Июл 2009 21:45:11    Заголовок сообщения: Ответить с цитатой

function editArticle($id = 0) { - это разве функция относится к admin/editArticle?

Мне всегда казалось, что

function editArticle($id = 0) - > /controller/editArticle/$id

function admin)editArticle($id = 0) -> /admin/controller/editArticle/$id

И потом ты создаёшь форму, которая отправляет методом "POST" - см. свои исходники. Чтобы отправлять "GET" - посмотри, что тебе товарищ nws написал.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fubu_By

цитировать



Зарегистрирован: 14 Июл 2009 14:57:59
Сообщения: 4

СообщениеДобавлено: 21 Июл 2009 19:18:45    Заголовок сообщения: Ответить с цитатой

вот сделал следующий пример с вашего кода:
index.ctp
Код:

<?php
echo $form->create('tests', array('action' => 'index', 'type' =>'post'));
?>
<table cellpadding="0" cellspacing="5">
<tr>
   <td>Рубрика</td>
   <td>
      <?php echo $form->input('Complete', array('label' => 'false', 'autocomplete' =>'off', 'value' => '')); ?>
   </td>
</tr>
</table>
<?php
echo $form->end('Сохранить');


tests_controller.php
Код:
<?
class TestsController extends AppController {
   
   function index() {
      print_r($_POST);
   }
}


результат тот же

Код:
Array
(
)


ни чего не принято
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 22 Июл 2009 15:43:26    Заголовок сообщения: Ответить с цитатой

Не поленился.
Создал пустой проект.
Скопировал копипастом код из вашего поста

Всё передаётся.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Fubu_By

цитировать



Зарегистрирован: 14 Июл 2009 14:57:59
Сообщения: 4

СообщениеДобавлено: 24 Июл 2009 17:14:42    Заголовок сообщения: Ответить с цитатой

вот, а у меня не пашет Sad
и вот не могу выяснить причину этого, почему у меня post не принимается, делаю простую страницу без фреймворка всё хорошо а в фрейм ворке полный абсурд
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 24 Июл 2009 18:25:09    Заголовок сообщения: Ответить с цитатой

Попробуйте скопипастить свой код из форума в чистый проект Smile
Если и это не поможет, тогда я уже не знаю Smile))))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru