У меня проблемы с обновлением записей с использованием cakephp, это второй раз, когда это происходит, и я не могу понять, что это такое. Когда я нажимаю «Отправить», чтобы обновить запись всегда, она всегда отправляет меня к логину ион либо регистрирует меня, либо выходит из системы .. Я не понимаю .. и он никогда не обновляет запись, он просто переходит к элементу входа в систему ... страница регистрации - то же самое .. это работало раньше ... единственное, что я изменил.. был в app_controller вместо того, чтобы указывать элементы управления, чтобы разрешить, я просто добавил '*' для всех, и теперь он не позволяет обновлять или сохранять что-либо .. причина, по которой я это сделал, была в том, что другие страницы, которые находятся в pages / contact_us илиpages / about_us они также блокировались Auth, но с '*' он исчез.
В моем App_Controller я настроил его так, чтобы разрешить все в фильтре before, в том числе и в самом контроллере.снова beforeFilter, повторяющий то же самое .. Я пробовал обо всем .. Вот мой код
App_Controller
<?php
class AppController extends Controller {
var $helpers = array('Html', 'Form', 'Javascript', 'Session');
var $components = array('Auth', 'Session');
function beforeFilter() {
$this->Auth->allowedActions = array('*');
$this->Auth->autoRedirect = false;
}
}
?>
один из моих контроллеров, где я обновляю
<?php
class DishRatingsController extends AppController {
function list_ratings() {
$this->loadModel('Dish');
$this->set('list_ratings', $this->Dish->find('all'));
$this->layout = 'master_layout';
}
function rate_dish($id = null)
{
$this->layout = 'master_layout';
$this->set('rate_dishes', $this->DishRating->find('all', array(
'conditions' => array(
'Dish.id' => $id
)
)));
if(!empty($this->data)) {
if($this->DishRating->save($this->data)) {
$this->Session->setFlash("Rating Saved!");
$this->redirect(array('action' => 'dish_ratings'));
}
// set master layout
}
}
function beforeFilter() {
parent::beforeFilter();
$this->Auth->allowedActions = array('*');
}
}
и мой взгляд, где кнопка отправки
<?php
echo $this->Form->create('DishRating', array('action' => 'rate_dish'));
echo '<div><h3>Rate this Dish...</h3><p>You can rate this dish on this page and view other ratings from out customers... </p></div>
<table id="recipes">
<tr>
<td style="padding:10px;">';
//<input type="hidden" name="userID" value="'.$rate_dishes[0]["DishRating"]["user_id"].'">
echo $this->Form->hidden('id', array('value'=> $rate_dishes[0]["DishRating"]["user_id"]));
//<input type="hidden" name="dish_id" value="'.$dish_rateid.'">
echo $this->Form->hidden('rate_id', array('value'=> $rate_dishes[0]["DishRating"]["dish_id"]));
echo '
<span style="font-size: 20px; vertical-align:top;">Comments</span>
</td>
<td style="padding:10px;">';
echo $this->Form->input('comments', array('type' => 'textarea', 'escape' => false , 'rows'=>'2','cols'=>'40', 'div' =>'false', 'label'=>''));
//<textarea name="comments" cols="40" rows="2"></textarea>
echo '</td>
<td>
<div>
<input name="star1000" value "1" type="radio" class="star"/>
<input name="star1000" value="2" type="radio" class="star"/>
<input name="star1000" value="3" type="radio" class="star"/>
<input name="star1000" value="4" type="radio" class="star"/>
<input name="star1000" value="5" type="radio" class="star"/>
</div>
</td>
<td>';
// <input type="submit" value="Submit" name="submitrating" class="button"/>
echo $this->Form->end(array('value'=>'Submit','name'=>'submitrating', 'type' =>'submit', 'class'=>'button'));
echo '</td>
<tr>
</table>';
print("<table id='results'><tr><th>User Name</th><th>Comments</th><th>Star Rating</th></tr>");
$j = 0;
foreach ($rate_dishes as $key => $rate_dish):
print("<tr>");
print("<td width='20px'>");
print("<p style='font-size:14px; color:blue; padding:0;'>".$rate_dishes[$j]['User']['username']."</p>");
print("</td>");
print("<td width='100px'>");
print("<p style='font-size:14px; color:blue; padding:0;'>".$rate_dishes[$j]['DishRating']['rate_comments']."</p>");
print("</td>");
print("<td width='100px'>");
print("<div>");
for($i = 1; $i < 6;$i++)
{
if($i != $rate_dishes[$j]['DishRating']['rate_num'])
{
echo '<input name="star'.$j.'" type="radio" class="star" disabled="disabled"/>';
}
else
{
echo '<input name="star'.$j.'" type="radio" class="star" disabled="disabled" checked="checked"/>';
}
}
print("</div>");
print("</td>");
print("</tr>");
$j++;
endforeach;
print("</table>");
if($j> 6)
{
echo '<div id="pageNavPosition"></div>
<div> </div>';
echo $this->Html->script('padminbottom.js');
}
?>
Пожалуйста, помогите решить эту проблему, у меня естьисследовали, пошли к кулинарной книге тортPHP, ничего ...