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.

Responder a