Problemas com SESSION!
Estou desenvolvendo uma loja virtual do ZERO, então surgiu o seguinte problema:
Preenchi meu carrinho de compras, até ai Ok,
Após isso, farei login com usuario e senha, então o carrinho de compras fica vazio!!
Ou seja, tem algo acontecendo fazendo com oque a $_SESSION['meu_carrinho'] seja destruida após o login.
* LEMBRANDO Q ESTOU EM APRENDIZADO EM PHP.... ENTÃO SE TIVER CRITICAS É BEM VINDO...
ME AJUDE TBM COM SEGURAÇA DO SISTEMA SE POSSIVEL...
CODIGOS:
Methodo para Adicionar um produto ao carrinho:
function addProdCarrinho(){
if($this->_produto == true){
if($_SESSION['cores_ajax']['permalink_ajax'] == $this->_produto->permalink ){
$cor = $_SESSION['cores_ajax']['img_cor_ajax'];
}
if( empty( $_SESSION['carrinho'] )){
$this->_carrinho = array(
"id" => $this->_produto->id,
"produto" => $this->_produto->produto,
"imagem" => $this->_produto->imagem,
"preco" => $this->_produto->preco,
"cor" => $cor,
"permalink" => $this->_produto->permalink,
"cat_permalink" => $this->_cat->permalink,
"qtd" => 1
);
$_SESSION['carrinho'][] = $this->_carrinho;
}else{
$flag = false;
foreach($_SESSION['carrinho'] as $car){
//VERIFICA SE EXISTE O MESMO PRODUTO NO CARRINHO
if( !in_array( $this->_produto->id, $car) )
$flag = true;
else
$flag = false;
//CASO EXISTA / FORÇA O LAÇO PARAR
if($flag==false)
break;
}
//SE NÃO EXISTIR O PRODUTO, ENTÃO É ADICIONADO AO CARRINHO
if($flag==true){
$this->_carrinho = array(
"id" => $this->_produto->id,
"produto" => $this->_produto->produto,
"imagem" => $this->_produto->imagem,
"preco" => $this->_produto->preco,
"cor" => $cor,
"permalink" => $this->_produto->permalink,
"cat_permalink" => $this->_cat->permalink,
"qtd" => 1
);
array_push($_SESSION['carrinho'],$this->_carrinho);
}
}
}
return $_SESSION['carrinho'];
}
CÓDIGO PARA FAZER LOGIN do CLIENTE PARA ACESSAR O PAINEL
function __construct(){
$this->dadosLogin();
$this->validarLogin();
$this->setUsuario();
$this->listUsuario();
$this->setVerifica();
}
private function dadosLogin(){
$_model = new model();
if(!empty($_POST['senha_px']) && !empty($_POST['email_px'])){
$_SESSION['login']['senha'] = md5 ( base64_decode( $_model->ant( strip_tags( $_POST['senha_px'] ))));
$_SESSION['login']['login_user'] = $_model->ant( strip_tags( $_POST['email_px'] ));
}
}
private function validarLogin(){
$_model = new model();
$this->_contarUsuario = $_model->contarLinha("id","clientes","cpf='". $_SESSION['login']['login_user'] ."'
OR usuario = '". $_SESSION['login']['login_user'] ."' AND senha='" . $_SESSION['login']['senha'] . "' AND status=1");
}//FIM METHODO validarLogin
private function setUsuario(){
$_model = new model();
if($this->_contarUsuario == 1){
$this->_usuario = $_model->fetch("id, nome_cliente, cpf, email, data_nascimento, usuario, senha, tel_fixo, tel_celular","clientes","cpf='". $_SESSION['login']['login_user'] ."'
OR usuario = '". $_SESSION['login']['login_user'] ."' AND senha='" . $_SESSION['login']['senha'] . "' AND status=1");
}else{
return false;
}
}//FIM METHODO setUsuario
private function listUsuario (){
if($this->_usuario == true){
$_SESSION['user'] = array(
"id" => $this->_usuario->id,
"nome" => $this->_usuario->nome_cliente,
"cpf" => $this->_usuario->cpf,
"email" => $this->_usuario->email,
"data_nascimento" => $this->_usuario->nascimento,
"usuario" => $this->_usuario->usuario,
"celular" => $this->_usuario->tel_celular,
"fixo" => $this->_usuario->tel_fixo,
"remoter" => $_SERVER['SERVER_ADDR']
);
}
}//FIM METHODO listUsuario
public function setVerifica(){
if($_SESSION['user']){
if($_SESSION['user']['remoter'] == $_SERVER['SERVER_ADDR']){
return true;
}
else{
unset($_SESSION['user']);
}
}
}
TEM OS CONTROLLERS PRA CHAMAR ESSES MODELS... NADA DE MAIS ... SÓ N ESTOU ENTENDENDO PQ QUANDO FAÇO O LOGIN A SESSION DO CARRINHO ESTÁ SENDO DESTRUIDA... TODA AJUDA É BEM VINDA...
Discussão (1)
Carregando comentários...