에 해당하면 내가 에코거야하는 PHP 세션 변수에 스타일을 적용합니다. 내가 $message
에 스타일을 적용하기 위해, 다음과 같은 방법으로이 사업부를 편집하려고 할 때를 제외하고 :어떻게는 isset은 내가보기에이 코드 비트가
<div class="msg done">
<?php
if(ISSET($message))
echo $message;
?>
</div>
그 스타일은 여전히 내 세션이 만료 된 후에도, 내보기 페이지에 남아, 또는 경우에도 ISSET($message)
은 FALSE입니다. 기본적으로이 스타일은 ISSET($message)
이 TRUE이고 $message
이 표시 될 때만 적용되기를 원합니다.
<link rel="stylesheet" media="screen,projection" type="text/css" href="css/main.css" />
main.css가 내부 스타일링은 여기에 수행됩니다 :
.msg.done {background:url("../design/ico-done.gif") 10px 50% no-repeat;}
는 난 단지 어떻게 적용 할 수 있습니다
이 스타일에 대한 참조는 다음과 같은 방법으로 내보기 페이지에서 언급 한 스타일을 $message
으로 지정하면 ISSET($message)
이 참입니까? 내 문제는 생각 : ISSET($message)
값에 관계없이, 내 전체 div 스타일입니다. 그래서이 스타일은 항상 거기에 남아 있습니다. 어쨌든이 문제를 해결할 수 있습니까?
편집 - 1 : 내가 언급하는 것을 잊었다
, 이것은 CodeIgniter의 응용 프로그램입니다. My $ message 변수는 내 컨트롤러에서 오는 세션 변수입니다 (employees.php
). 내 전체 컨트롤러 코드는 아마 잘못 거기에 뭔가있다, 울부 짖는 소리가 주어집니다 :
<?php
if (! defined('BASEPATH')){ exit('No direct script access allowed');}
class Employees extends CI_Controller
{
function __construct()
{
parent::__construct();
//$this->load->helper('url');
$this->load->model('employee_model');
$this->load->library('pagination');
$this->load->library('session');
}
//Show all employees
public function index()
{
//$data['employee_list'] = $this->employee_model->get_all_employees();
//pagination codes
$config = array();
//$config['base_url'] = base_url().'admin_logins/employee2';
//$config['base_url'] = base_url('admin_logins/employee2');
$config['base_url'] = site_url('admin_logins/employee2');
$config['total_rows'] = $this->employee_model->record_count();
$config['per_page'] = 10;
$config["uri_segment"] = 3;
$choice = $config["total_rows"]/$config["per_page"];
$config["num_links"] = round($choice);
$this->pagination->initialize($config);
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data["results"] = $this->employee_model->
fetch_employees($config["per_page"], $page);
$data["message"] = $this->session->flashdata('message');
$data["links"] = $this->pagination->create_links();
$this->load->view('/admin_logins/employee_list', $data);
}
//Insert an employee
public function insert_employee_db()
{
$edata['emp_id'] = $this->input->post('emp_id');
$edata['emp_name'] = $this->input->post('emp_name');
$edata['emp_mobile_no'] = $this->input->post('emp_mobile_no');
$res = $this->employee_model->insert_employee($edata);
if($res)
{
$this->session->set_flashdata('message','Employee added successfully');
header('location:'.base_url()."index.php/employees/".$this->index());
}
}
//Edit an existing employee
public function edit_employee_db()
{
$edata['emp_id']=$_POST['emp_id'];
$edata['emp_name']=$_POST['emp_name'];
$edata['emp_mobile_no']=$_POST['emp_mobile_no'];
$res=$this->employee_model->edit_employee($edata, $_POST['emp_id']);
if($res)
{
$this->session->set_flashdata('message','Employee edited successfully');
header('location:'.base_url()."index.php/employees/".$this->index());
}
}
}
?>
편집 - 2 :
내 최신 시도 :
<?php
if(isset($message)){
?>
<p class= "msg done">
<?php
echo $message;
unset($message);
?>
</p>
<?php
}
else {
}
?>
하지만, 여전히 행운.
편집 - 3 :
나는 다음과 같은 방법으로 내 코드를 수정했습니다 : 그것은 지금은 완벽하게 작동하고
<?php
if(ISSET($message))
echo $message;
?>
세션이 만료되면, 메시지가 사라집니다. 또한
, 내가 그것을 다음과 같은 방법으로 편집하는 경우 :
<div style = "color: red">
<?php
if(ISSET($message))
echo $message;
?>
</div>
그것은 잘 작동하고, 스타일과 메시지 모두 세션 만료에 사라집니다.
하지만 언제든지 외부 CSS 파일 main.css
을 통해 내 div에 스타일을 적용하면 문제가 발생합니다.
내 솔루션을 시도해보십시오. 작동하지 않는다면 삭제하고 싶습니다. 고마워, 알려줘. 그것의 원래 질문의 기초에. 감사합니다 –