проблема в показе сообщения set_flashdata с div в codeigniter? - PullRequest
1 голос
/ 21 августа 2011

я хочу, когда есть значение "flashdata" echo id='error_text' с $this>session>flashdata('error').как это?
в этом коде ошибка:

   <?php
      isset($this->session->flashdata('error'))
      {
          "<div id='error_text'>" . $this->session->flashdata('error') . "</div>"}
    ?>

ошибка:

Неустранимая ошибка: невозможно использовать возвращаемое значение метода в контексте записи в D: \ xampp\ htdocs \ mehdi \ system \ core \ Loader.php (679): код eval () в строке 2

, если использовать это:

#error_text {
    background-color: #000000;
}
<div id="error_text"><?=$this->session->flashdata('error');?></div>

if $this->session->flashdata('error') не показывать фон сообщения, он всегда черный (#error_text{background-color: #000000;}).

РЕДАКТИРОВАТЬ:

в контроллере:

if ($this->db->count_all($this->_table) == 0) {
        $this->session->set_flashdata('error', 'Error have.');
        $error = isset($this->session->flashdata('error')) ? $this->session->flashdata('error') : FALSE; // Line 36
        redirect('admin/accommodation/insert');
        } else {
        return 0;
        }

в поле зрения:

<?php if($error){"<div id='error_text'>".$this->session->flashdata('error')."</div>"}?>

новая ошибка:

Неустранимая ошибка: невозможно использовать возвращаемое значение метода в контексте записи в D: \ xampp \ htdocs \ Siran-mehdi \ application \ controllers \ admin \Accommodation.php на линии 36

1 Ответ

2 голосов
/ 21 августа 2011

Вам нужно сначала перенести flashdata в переменную. И сделайте это в вашем контроллере, а затем отправьте его для просмотра. Лучше отделить логику от представления.

 if ($this->db->count_all($this->_table) == 0) 
 {
    $this->session->set_flashdata('error', 'Error have.');
    // You doesn't need that here...
    // $error = isset($this->session->flashdata('error')) ? $this->session->flashdata('error') : FALSE; // Line 36
    redirect('admin/accommodation/insert');
 } 
 else 
 {
    return 0;
 }


// Then for validate, in 'admin/accommodation/insert'
$error = $this->session->flashdata('error');

$data = array();

//...

$data['error'] = $error;
$this->load->view('someview',$data);

// And in your view file
<?php if($error) : ?>
<div id="error_text"><?php echo $error ?></div>
<?php endif; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...