Hola prueba con el siguiente codigo, por lo que veo trabajas con la version
2.0 de cake.
class CountriesController extends AppController {
public $name = 'Countries';
public $helpers = array("Html", "Form", "Session");
public $components = array("Session");
/**
* Index function executed when controller is called
*/
public function index() {
$list = $this->Country->find('all');
$this->set('country', $list);
}
/**
* Function to add new country
*/
public function add() {
if ($this->data) {
if ($this->Country->save($this->data)) {
$this->Session->setFlash(__("The country has been saved"));
$this->redirect(array("action" => "index"));
} else {
$this->Session->setFlash(__("Unable to save the country"));
}
}
}
Entonces en el template coloca lo siguiente:
<?php echo $this->Session->flash(); ?>
Saludos.
El 23 de febrero de 2012 12:29, [email protected]
<[email protected]>escribió:
> Ok, he cambiado el codigo y me ha quedado de la siguiente forma:
>
> class CountriesController extends AppController {
> public $name = 'Countries';
> public $helpers = array("Html", "Form", "Session");
> public $components = array("Session");
>
> /**
> * Index function executed when controller is called
> */
> public function index() {
> $list = $this->Country->find('all');
> $this->set('country', $list);
> }
>
> /**
> * Function to add new country
> */
> public function add() {
> if ($this->request->is("post")) {
> if ($this->Country->save($this->request->data)) {
> $this->Session->setFlash(__("The country has been saved"));
> $this->redirect(array("action" => "index"));
> } else {
> $this->Session->setFlash(__("Unable to save the country"));
> }
> }
> }
>
> Entonces en mi template he colocado lo siguiente:
>
> <?php
> if($this->Session->flash()) {
> echo $this->Session->flash('flash', array('class' => 'alert
> alert-block'));
> }
> ?>
>
> Pero no me muestra nada y lo otro es que no me esta salvando los datos en
> la BD (no se si abrir otro hilo para esto ultimo)
> Que hago mal?
>
> Ing. Reynier Pérez Mira
> http://reynierpm.site90.com/
>
>
>
> 2012/2/23 Sebastian Maydana <[email protected]>
>
>> Hola el problema es que la palabra session esta escrita con minuscula y
>> la primer letra es en mayusculas.
>> Intenta con $this->Session->setFlash(__("The country has been saved"));
>> y en componentes y helpers agrega "Session".
>>
>> Un saludo.
>> Sebastian
>>
>> El 23 de febrero de 2012 11:46, [email protected]
>> <[email protected]>escribió:
>>
>>> Hola a todos nuevamente:
>>> Tengo esta funcion
>>>
>>> public function add() {
>>> if ($this->request->is("post")) {
>>> if ($this->Country->save($this->request->data)) {
>>> $this->session->setFlash(__("The country has been saved"));
>>> $this->redirect(array("action" => "index"));
>>> } else {
>>> $this->session->setFlash(__("Unable to save the country"));
>>> }
>>> }
>>> }
>>>
>>> Pero cuando la ejecuto me lanza este error: "Fatal error: Call to a
>>> member function setFlash() on a non-object in
>>> /var/www/html/jobapp/app/Controller/countries_controller.php on line 21"
>>> alguna ayuda con esto? Que estoy haciendo mal?
>>> Saludos y gracias desde ya
>>> Ing. Reynier Pérez Mira
>>> http://reynierpm.site90.com/
>>>
>>> --
>>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
>>> Grupos de Google.
>>> Para publicar una entrada en este grupo, envía un correo electrónico a
>>> [email protected].
>>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>>> [email protected]
>>> Para tener acceso a más opciones, visita el grupo en
>>> http://groups.google.com/group/cakephp-es?hl=es.
>>
>>
>> --
>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
>> Grupos de Google.
>> Para publicar una entrada en este grupo, envía un correo electrónico a
>> [email protected].
>> Para anular tu suscripción a este grupo, envía un correo electrónico a
>> [email protected]
>> Para tener acceso a más opciones, visita el grupo en
>> http://groups.google.com/group/cakephp-es?hl=es.
>>
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a
> [email protected].
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> [email protected]
> Para tener acceso a más opciones, visita el grupo en
> http://groups.google.com/group/cakephp-es?hl=es.
>
--
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.