У меня есть форму, чтобы добавить нового пользователя. Доступ к этой форме может получить только администратор, который зарегистрировался. К сожалению, имя пользователя и пароль администратора заполняются в поля формы, которые, как ожидается, будут полностью понятны. И одна странная вещь: имя пользователя печатается в поле дня рождения!CakePHP 2.4: Нежелательные предварительно заполненные данные формы
Я действительно не могу объяснить, как это работает. И я не мог найти в WWW никакой записи от человека, у которого была такая же проблема - я только нашел вопросы и ответы о предварительно заполненных данных формы, которые нужны.
Это Посмотреть /Users/add.ctp
<h1>Add a new Member</h1>
<?php echo $this->Form->create('User', array('url' => BASE_URL.'/users/add', 'action'=>'post')); ?>
<table class="form">
<tr><td>Username:</td><td><?php echo $this->Form->input('User.username', array('label' => false, 'div' => false, 'value' => ''));?></td></tr>
<tr><td>Name:</td><td><?php echo $this->Form->input('User.name', array('label' => false, 'div' => false, 'value' => ''));?></td></tr>
<tr><td>Lastname:</td><td><?php echo $this->Form->input('User.lastname', array('label' => false, 'div' => false, 'value' => ''));?></td></tr>
<tr><td>E-Mail:</td><td><?php echo $this->Form->input('User.email', array('label' => false, 'div' => false, 'value' => ''));?></td></tr>
<tr><td>Birthday:</td><td><?php echo $this->Form->input('User.birth', array('label' => false, 'div' => false, 'value' => ''));?></td></tr>
<tr><td>Password:</td><td><?php echo $this->Form->input('User.password', array('label' => false, 'div' => false, 'value' => ''));?></td></tr>
</table>
<?php
echo $this->Form->submit('Submit', array('formnovalidate' => true));
echo $this->Form->end();
?>
А вот контроллер /UsersController.php
public function add() {
$this->layout = 'admin';
if ($this->request->is('post')) {
// Saving the data
$this->User->create();
if ($this->User->save($this->request->data)) {
$this->Session->setFlash(__('Data saved.'));
return $this->redirect(array('action' => 'view'));
}
$this->Session->setFlash(__('Data could not be saved.'));
}
}
Кстати: Saving работает отлично. Конечно, администратор является Object User, как и новый член для добавления. Я думаю, здесь кроется проблема, но я действительно не знаю ... Я думаю об этой проблеме целый день :(Кто-нибудь знает, что делать?
Заранее спасибо.
'URL' и 'действия' вместе не имеет смысла :), а также URL-адрес не должен быть объявлен, что сложно, массив синтаксиса с использованием контроллера и ключей действий. И отбросьте это «значение», оно также сломает ваши формы по недействительности. Плохая идея. Старайтесь быть как можно более простыми (чем меньше вы должны набирать, тем лучше). – mark
Спасибо за ваш комментарий. Я знаю, что cakePHP позволяет создавать формы более удобным способом. Но мне все еще нужна «url» вещь из-за очень раздражающей проблемы с переадресацией домена, которая, к сожалению, не сделана htaccess, а с iFrame каким-то образом ... если я не объявляю URL-адрес таким образом, форма не сохраняйте ничего, не выдавайте сообщений об ошибках, но снова загрузите форму ... Не могли бы сделать ничего против этого до сих пор, нужно работать с тем, что у меня есть: '( – Snoops
Тогда вы можете отказаться от действия. бесполезно, так как по крайней мере один из них не делает того, что он должен делать, и будет только запутывать всех :) – mark