get e htaccess

Enviada por Rogério 
Rogério
get e htaccess
02 de March de 2013 às 07:13PM
Olá, por favor que puder ajudar eu agradeço. Vou tentar ser o mais objetivo.

Estou tentando passar o GET pela Url mas o mesmo não está funcionando.

Não sei onde devo fazer a modificação mas vou datalhar:

Postando meu .htaccess

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1

Postando a função que uso para trabalhar com a url

function Home(){
$url = $_GET['url'];
$url = explode('/', $url);
$url[0] = ($url[0] == NULL ? 'index' : $url[0]);
if(file_exists('tpl/'.$url[0].'.php')){
require_once('tpl/'.$url[0].'.php');
}
elseif(file_exists('tpl/'.$url[0].'/'.$url[1].'.php')){
require_once('tpl/'.$url[0].'/'.$url[1].'.php');
}
else{
require_once('tpl/404.php');
}
}

O problema que estou tendo:

Acesso normal ex.:

www.meusite.com.br/produto //sem precisar de extensão .php
www.meusite.com.br/carrinho/produto //sem precisar de extensão .php

Onde carrinho é um diretório e produto um arquivo .php

Mas se eu precisar passar um GET na URL por causa do carrinho de compras ele não passa.
Ex.:

Ex.: Listo os produtos em produtos no link comprar passo
<a href="cart.php?acao=add&id=$id['id']>Comprar</a> // $id['para pegar o id do produto']


Na página cart.php ele passa o GET na URL, mas esse GET não pega o ID // então não seleciona o produto

<?php

session_start();

if(!isset($_SESSION['carrinho'])){
$_SESSION['carrinho'] = array(); // a sessão inicia normalmente
}

// verificando o GET

if(isset($_GET['acao']) && ($_GET['acao'] == ['add'])){
$id = intval($_GET['id']);
$_SESSION['carrinho'][$id] = 1;
}else{
$_SESSION['carrinho'][$id] += 1;
}

// em cada if/else trago junto um echo me retornando uma mensagem, baseado nisso sei que o GET passa na URL e a quantidade na $_SESSION['carrinho'] aumenta com cada F5, mas o id do produto não captura.

Alguem pode me ajudar.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.