Ricardo Gonçalves Posted July 3, 2012 at 02:07 PM Report #467011 Posted July 3, 2012 at 02:07 PM Boa tarde, Estou com um pequeno problema, eu estou a finalizar um site, o problema que me esta a dar é o seguinte: Eu tenho produtos no site e os clientes podem adicionar esse produto no carrinho, quando o cliente finalizar as compras ao carregar em finalizar tudo o que estiver no carrinho ele vai guardar numa tabela e é ai o problema ao gravar também devia guardar o id do utilizador que está autenticado eu já fiz isso e ao gravar dá-me erro que a variável não está definido e eu queria que gravasse o id dele como faço isso? eu tenho os códigos seguinte: carrinho.php: include 'auth.inc.php'; $sid = isset($_SESSION['id_utilizador']) ? $_SESSION['id_utilizador'] : 0; no auth.inc.php tenho o seguinte código: if(!isset( $_SESSION)){ session_start (); if (!isset($_SESSION['autenticado'])){ header('Refresh: 0; URL="index.php"'); echo '<p>Vai ser redireccionado para a página de início em 0 segundos</p>'; echo '<p>Se o browser não redireccionar automaticamente,'. '<a href="index.php?redirect='.$_SERVER['PHP_SELF'].'">Clique aqui</a>.</p>'; die(); } } e ao inserir na BD tenho este código : // Verificamos se a acao é igual a incluir if ($acao == "incluir") { // Verificamos se cod do produto é diferente de vazio if ($id_produto != '') { // Se for diferente de vazio verificamos se é numérico if (is_numeric($id_produto)) { // Tratamos a variavel de caracteres indevidos $id_produto = addslashes(htmlentities($id_produto)); // Verificamos se o produto referente ao $cod já está no carrinho para o session id correnpondente $query_rs_carrinho = 'SELECT * FROM pedidos WHERE pedidos.id_produto = "'.$id_produto.'" AND pedidos.sessao = "'.session_id().'"'; $rs_carrinho = mysql_query($query_rs_carrinho, $ligacaoDB) or die(mysql_error()); $row_rs_carrinho = mysql_fetch_assoc($rs_carrinho); $totalRows_rs_carrinho = mysql_num_rows($rs_carrinho); // Se o total for igual a zero é sinal que o produto ainda não está no carrinho if ($totalRows_rs_carrinho == 0) { // Aqui pegamos os dados do produto a ser incluido no carrinho $query_rs_produto = 'SELECT * FROM produtos WHERE id_produto = "'.$id_produto.'"'; $rs_produto = mysql_query($query_rs_produto, $ligacaoDB) or die(mysql_error()); $row_rs_produto = mysql_fetch_assoc($rs_produto); $totalRows_rs_produto = mysql_num_rows($rs_produto); // Se total for maior que zero esse produto existe e então podemos incluir no carrinho if ($totalRows_rs_produto > 0) { $registro_produto = mysql_fetch_assoc($rs_produto); // Incluimos o produto selecionado no carrinho de compras $add_sql = 'INSERT INTO pedidos (id_pedidos, id_produto, id_utilizador, marca, modelo, descricao, preco, qtd, sessao, id_tipo, data_pedido) VALUES ("", "'.$row_rs_produto['id_produto'].'", "'.$row_rs_produto['sid'].'", "'.$row_rs_produto['marca'].'", "'.$row_rs_produto['modelo'].'", "'.$row_rs_produto['descricao'].'", "'.$row_rs_produto['preco'].'", 1, "'.session_id().'", "'.$row_rs_produto['id_tipo'].'", NOW() )'; $rs_produto_add = mysql_query($add_sql, $ligacaoDB) or die(mysql_error()); } } } } } ja vi várias vezes este código e não vejo qual o problema que esteja aqui alguém sabe qual é o problema? cumps, Ricardo Gonçalves
HappyHippyHippo Posted July 3, 2012 at 02:28 PM Report #467014 Posted July 3, 2012 at 02:28 PM eu já fiz isso e ao gravar dá-me erro que a variável não está definido - que variável ? - em que linha ? - em que ficheiro ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Ricardo Gonçalves Posted July 3, 2012 at 03:08 PM Author Report #467023 Posted July 3, 2012 at 03:08 PM a variável $sid diz que não está definido. o erro é : Notice: Undefined index: sid in C:\xampp\htdocs\sitericardo\carrinho.php on line 93 este erro é ao gravar na BD
pmg Posted July 3, 2012 at 03:16 PM Report #467026 Posted July 3, 2012 at 03:16 PM $add_sql = 'INSERT INTO pedidos (id_pedidos, id_produto, id_utilizador, marca, modelo, descricao, preco, qtd, sessao, id_tipo, data_pedido) VALUES ("", "'.$row_rs_produto['id_produto'].'", "'.$row_rs_produto['sid'].'", "'.$row_rs_produto['marca'].'", "'.$row_rs_produto['modelo'].'", "'.$row_rs_produto['descricao'].'", "'.$row_rs_produto['preco'].'", 1, "'.session_id().'", "'.$row_rs_produto['id_tipo'].'", NOW() )'; Cá para mim ... o array $row_rs_produtos não tem um índice 'sid'. Vê lá se tens isso definido na base de dados. What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Ricardo Gonçalves Posted July 3, 2012 at 04:12 PM Author Report #467037 Posted July 3, 2012 at 04:12 PM já resolvi o problema, tinhas razão pmg. Obrigado. Tópico Resolvido
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now