Как оставаться на предыдущей странице после входа в систему codeigniter - PullRequest
0 голосов
/ 04 августа 2020

Привет, ребята, я новичок в stackoverflow, если этот вопрос очень длинный, пожалуйста, извините меня, это веб-сайт с жалобами потребителей, вот страница просмотра под названием selected_user_admin_reply2. php на этой странице я хочу применить функциональность, если пользователь без входа в систему нажмите кнопку воспроизведения, затем войдите в систему. php страница просмотра появится, затем после входа в систему пользователь вернется на предыдущую страницу, ссылка на предыдущую страницу: http://localhost/A2Zcomplainboard/index.php/Complain/Separate_single_complain_user/COMP008

Итак, что я могу сделать .. пожалуйста, помогите мне (заранее спасибо)

Контроллер:

public function Separate_single_complain_user($cid)
    {
        //$cid = $this->input->get('compid');
        $this->load->model('Complain_model');
        $res = $this->Complain_model->getSingleComplain($cid);
        $this->load->model('Replay_Model');
        $res1 = $this->Replay_Model->Separate_single_complain_replay($cid);
        if($res){
            $this->load->view('separate_user_admin_reply2',['res'=>$res,'res1'=>$res1]);
        }
    }

Модель:

public function getSingleComplain($cid)
    {
        $complain = $this->db->query("SELECT comp_id,comp_title,comp_description,post_datetime,status,publish_status,comp_catagory,posted_by,id,first_name,email FROM log_tbl l INNER JOIN comp_tbl c ON l.id = c.posted_by WHERE comp_id = '$cid'");
        $res = $complain->result_array();
        if($res)
                return $res;
        else
            return false;   
    }

public function Separate_single_complain_replay($cid){

        $rep = $this->db->query("SELECT first_name,rep_id,rep_description,rep_datetime,rep_by,rep_against,rep_flag,rating FROM log_tbl l INNER JOIN reply_tbl r ON l.id = r.rep_by WHERE r.rep_against = '$cid 'AND rep_flag = '1'");
        $res = $rep->result_array();
        if($res)
                return $res;
        else
            return false;
    }

введите описание изображения здесь Это просмотреть изображение страницы own_user_admin_reply2. php

И контроллер входа:

public function index()
    {

            $email = $this->input->post('email');
            $password = $this->input->post('password');
            $this->load->model('Login_Model');
            $data = $this->Login_Model->isvalidate($email,$password);
            
            if($data)
            {
                $this->load->library('session');
                $this->session->set_userdata('email',$data['email']);
                $this->session->set_userdata('type',$data['type']);
                $this->session->set_userdata('id',$data['id']);
                if($data['type']=='User' ){
                    return redirect('User/index');
                }
                else
                 {
                    return redirect('Admin/adminDashboard');
                }
            }else{
                echo "<script>alert('Details not matched')</script>";
                header("refresh:1");
                return redirect('Complain/login');
            }
    }

model:-
public function isvalidate($email,$password)
{

        $q = $this->db->where(['email'=>$email,'password'=>$password])
                      ->get('log_tbl');
                       if($q->num_rows()){
                        $x = $q->row()->email;
                        $y = $q->row()->type;
                        $z = $q->row()->id;
                        
                        $userData = array('email' => $x, 'type' => $y, 'id' => $z);
                        
                        
                        return $userData;
                        
                      }else{
                        return false;
                      }
    }

изображение страницы входа в систему:

Войти Просмотр изображения страницы

1 Ответ

0 голосов
/ 05 августа 2020

Сохранить URL предыдущей страницы в данных сеанса. Вы можете найти подробное описание того, как это сделать, в документации codeigniter. Когда пользователь успешно вошел в систему, проверьте, установлены ли данные предыдущей страницы, если да, грипп sh и перенаправьте на нее.

...