Jump to content

Recommended Posts

Posted

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

Posted

$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!

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.