Ir para conteúdo
Fórum Script Brasil
  • 0

Alterando função para definir cookie previamente


msfaria

Pergunta

Olás!

Estou alterando um script gringo que possuía uma tela de entrada onde o usuário escolhia a sua localização e o script encaminhava o mesmo para a página da cidade correspondente - Curitiba, por exemplo. Ocorre que removi esta tela e o código que gerava a mesma (enviando o usuário direto para a tela inicial do site usando $this->render('main'); no final da função), mas preciso passar uma cidade padrão para o cookie para que o resto do sistema continue intacto - ou seja, para que as pessoas entrem direto na tela de Curitiba ('.base_url().'pagina/cidade/'.$user_city_name, sendo que $user_city_name seria curitiba), no exemplo citado. Como faço isso nessa função?

function index()
    {
         $this->load->model('location_model');
        $this->load->helper('cookie');
        $cookie_city = get_cookie('user_city');
        $cookie_city_name = get_cookie('user_city_name');
        if(isset($cookie_city_name) && $cookie_city_name!=''){
           // $city_name = $this->location_model->get_city_list(1,0,array('id'=>$cookie_city));
           // $this->session->set_userdata('user_city_name',$city_name[0]['city_name']);
             header('location:'.base_url().'pagina/cidade/'.$user_city_name);
           exit;
        }
        $this->data['old_values'] = $this->session->userdata('user_values');
        $this->session->set_userdata('user_values', '' );
        if($this->input->post('sub')!='')
        {
            $message    = '';
            $arr_post = array();
            $temp_arr = array_merge($arr_post, $_POST);
            $this->session->set_userdata('user_values', $temp_arr );
            $this->session->set_userdata('user_messages', array());
            if($message=='')
            {
                $city_id = htmlspecialchars($this->input->post('city_id'), ENT_QUOTES, 'utf-8');
                $cookie = array(
                       'name'   => 'user_city',
                       'value'  => $city_id,
                       'expire' => time()+(60*60*24*365),
                       'domain' => '',
                       'path'   => '/',
                       'prefix' => '',
                   );
                set_cookie($cookie);
                $city_name = $this->location_model->get_city_list(1,0,array('id'=>$city_id,));
                $cookie = array(
                       'name'   => 'user_city_name',
                       'value'  => $city_name[0]['url'],
                       'expire' => time()+(60*60*24*365),
                       'domain' => '',
                       'path'   => '/',
                       'prefix' => '',
                   );
                set_cookie($cookie);
                $this->session->set_userdata('user_values', '');
                exit;
            }
              $this->session->set_userdata(array('message'=>$message,'message_type'=>'err'));
        }
        $this->add_js(array('common_js')); 
        $this->render('main');
    }

Obrigado desde já! :)

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...