rickytuga 0 Denunciar post Postado Julho 11, 2009 como posso fazer para criar algo tipo... que pegue a sessao aberta no carrinho e a sessao aberta no login do usuario (que sao 2 db diferentes) e mostre uma nova pagina com todos dados no carrinho e infos do usuario para em seguida enviar por email? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 11, 2009 isso está mais pra questão de lógica do que php. qual a sua dificuldade no uso dos recursos do php ? Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 11, 2009 isso está mais pra questão de lógica do que php. qual a sua dificuldade no uso dos recursos do php ? a dificuldade esta em saber como fazer isso de enviar o form de 2 sessoes diferentes :unsure:/> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Julho 11, 2009 quando você diz sessão está se referindo às variáveis de sessão do PHP ? $_SESSION ?? Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 11, 2009 sim essa mesmo... existe uma session pros dados do usuario no sistema de login e outra pro carrinho de compras, com os produtos adicionados pelo usuario nessa session. o que pretendia era associar as 2 sessions de forma que quando o usuario fizesse o login, o script reconhecesse que as compras no carrinho lhe pertencem e dessa forma criasse entao a pagina onde o usuario pode confirmar ou alterar os dados e produtos e em seguida clicar em ENVIAR e o script mandar um mail para o dono da loja e outro pro usuario a avisar que a encomenda ja esta a caminho. Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 11, 2009 Qual a dificuldade? Já fez alguma coisa? O que tem pronto? Deu algum erro? Não consegui entender ainda o que você quer... Daí não posso te ajudar... Tente ser mais específico na sua dúvida. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 12, 2009 Estou a um tempão a fazer este carrinho e não consigo finalizar as compras. Já consultei um monte de tuturials e videoaulas, mas nada me fez conseguir finalizar o meu e visto que no site existem varios carrinhos de compras e nenhum está completo e funcional a 100% decidi colocar o meu codigo aqui para que todos possam partilhar e tentar completar de um vez por todas para que este site tenha um codigo 100% funcional de carrinho de compras. é o seguinte, para este carrinho eu criei 2 sistemas, 1 de login com registo de usuario e outro com o carrinho de compras. As DB utilizadas sao (na pasta Membros): CREATE TABLE `membros`.`membros` ( `id` INT( 4 ) NOT NULL , `id_membro` INT NOT NULL , `uid` VARCHAR( 50 ) NOT NULL , `nome` VARCHAR( 50 ) NOT NULL , `username` VARCHAR( 25 ) NOT NULL , `password` VARCHAR( 25 ) NOT NULL , `confirmacaopassword` VARCHAR( 25 ) NOT NULL , `morada` VARCHAR( 500 ) NOT NULL , `cpostal` VARCHAR( 50 ) NOT NULL , `localidade` VARCHAR( 50 ) NOT NULL , `indicacoes` VARCHAR( 500 ) NOT NULL , `telefone` VARCHAR( 25 ) NOT NULL , `telemovel` VARCHAR( 25 ) NOT NULL , `email` VARCHAR( 100 ) NOT NULL , `contribuinte` VARCHAR( 25 ) NOT NULL , `horario` VARCHAR( 100 ) NOT NULL , `pagamento` VARCHAR( 100 ) NOT NULL , `data_ts` VARCHAR( 25 ) NOT NULL , `activo` BOOL NOT NULL DEFAULT '0', PRIMARY KEY ( `id_membro` ) ) ENGINE = MYISAM (Na pasta Produtos): CREATE TABLE produtos ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(130) NOT NULL, descricao VARCHAR(1000) NOT NULL, extras VARCHAR(500) NOT NULL, stock VARCHAR(10) NOT NULL, img VARCHAR(36) NOT NULL, preco FLOAT NOT NULL ); INSERT INTO produtos (nome, img, preco) VALUES ("Notebook AMD Turion", "img_0001.jpg", 2899.0); CREATE TABLE carrinho ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cod INT NOT NULL, quant INT NOT NULL, sessao VARCHAR(64) NOT NULL, INDEX sessao (sessao) ); Os ficheiros utilizados sao (Na pasta Membros): activar.php <? // Liga-se à Base de Dados include_once('ligacaoBD.php'); $id = $_GET['id']; $emailMd5 = $_GET['email']; $uidMd5 = $_GET['uid']; $dataMd5 = $_GET['key']; //Procura os resultados na base de dados $sql = "select * from membros where id_membro = '$id'"; $sql = mysql_query( $sql ); $rs = mysql_fetch_array( $sql ); // Compara os dados da base de dados, com os dados vindos via url $valido = true; if( $emailMd5 !== md5( $rs['email'] ) ) $valido = false; if( $uidMd5 !== md5( $rs['uid'] ) ) $valido = false; if( $dataMd5 !== md5( $rs['data_ts'] ) ) $valido = false; // Os dados estão corretos, hora de ativar o cadastro if( $valido === true ) { $sql = "update membros set ativo='1' where id_membro='$id'"; mysql_query( $sql ); echo "<br><center><font size=4 color=red><b>Registo de cliente activado com sucesso!</b></font><br><br>"; header( 'refresh:3; url=index.php' ); } else { echo "<br><center><font size=4 color=red>Informações inválidas</b></font><br><br>"; header( 'refresh:3; url=index.php' ); } ?> index.php <form name="form1" method="post" action="verifica.php"> <center> <br> <table width="400" border="0" cellpadding="5" cellspacing="1" bgcolor="#f3f3f3"> <tr> <td colspan="3" align="center"> <strong>Área de Clientes</strong> <br> <br> Username: <br> <input name="myusername" type="text" id="myusername" style="width:300px"> <br> Password: <br> <input name="mypassword" type="password" id="mypassword" style="width:300px"> <br> <input type="submit" name="Submit" value="ENTRAR" style="width:300px"> <br> <br> <font size=2><a href="registar.php">Registar Novo Cliente</a></font> <br> <br> </td> </tr> </table> </form> ligacaoBD.php <? $host="localhost"; // Servidor $username=""; // Username $password=""; // Password $db_name="membros"; // Base Dados $tbl_name="membros"; // Tabela // Conecta ao MySQL if(!$con = mysql_connect($host, $username, $password)){ echo 'Erro na ligação à base de dados'; exit(); } // Seleciona o banco de dados if(!mysql_select_db($db_name, $con)){ echo 'Erro ao selecionar a base de dados'; exit(); } ?> logout.php <? session_start(); session_destroy(); ?> registar.php <? // Liga-se à Base de Dados include_once('ligacaoBD.php'); if( isset( $_POST['enviar'] ) ) { $uid = uniqid( rand( ), true ); $data_ts = time( ); $nome = $_POST['nome']; $username = $_POST['username']; $password = md5( $_POST['password'] ); $confirmacaopassword = md5( $_POST['confirmacaopassword'] ); $morada = ( $_POST['morada'] ); $cpostal = ( $_POST['cpostal'] ); $localidade = ( $_POST['localidade'] ); $indicacoes = ( $_POST['indicacoes'] ); $telefone = ( $_POST['telefone'] ); $telemovel = ( $_POST['telemovel'] ); $email = ( $_POST['email'] ); $contribuinte = ( $_POST['contribuinte'] ); $horario = ( $_POST['horario'] ); $pagamento = ( $_POST['pagamento'] ); $activo = 0; $sql = "insert into membros ( uid, data_ts, id_membro, nome, username, password, confirmacaopassword, morada, cpostal, localidade, indicacoes, telefone, telemovel, email, contribuinte, horario, pagamento, activo )"; $sql .= "values ( '$uid', '$data_ts', '', '$nome', '$username', '$password', '$confirmacaopassword', '$morada', '$cpostal', '$localidade', '$indicacoes', '$telefone', '$telemovel', '$email', '$contribuinte', '$horario', '$pagamento', '$activo' )"; if( ! mysql_query( $sql )) { echo "Erro! - Houve um erro ao registar o cliente. ".mysql_error( ); // Se o registo foi inserido com sucesso, envia o email. }else{ $id = mysql_insert_id( $con ); // Cria as variaveis para validar o email. $url = sprintf( 'id=%s&email=%s&uid=%s&key=%s',$id, md5($email), md5($uid),md5($data_ts)); $mensagem = 'Para confirmar o seu registo, clique no link abaixo:'."\n"; $mensagem .= sprintf('http://www.rpublicidade.com/Membros/activar.php?%s',$url); // envia o email mail($email, 'Confirme o seu Registo de Cliente!', $mensagem ); echo "<br><center><font size=4 color=red><b>Cliente registado com sucesso. Obrigado!</b></font><br><br>"; header( 'refresh:3; url=index.php' ); }} ?> <form method="POST"> <center> Nome: <br> <input type="text" name="nome" style="width:300px"> <br> Username: <br> <input type="text" name="username" style="width:300px"> <br> Password: <br> <input type="password" name="password" style="width:300px"> <br> Confirme a Password: <br> <input type="password" name="confirmacaopassword" style="width:300px"> <br> Morada: <br> <input type="text" name="morada" style="width:300px"> <br> C.Postal: <br> <input type="text" name="cpostal" style="width:300px"> <br> Localidade: <br> <input type="text" name="localidade" style="width:300px"> <br> Indicações Extra: <br> <input type="text" name="indicacoes" style="width:300px"> <br> Telefone: <br> <input type="text" name="telefone" style="width:300px"> <br> Telemóvel: <br> <input type="text" name="telemovel" style="width:300px"> <br> Email: <br> <input type="text" name="email" style="width:300px"> <br> Nº Contribuinte: <br> <input type="text" name="contribuinte" style="width:300px"> <br> <br> Horário para Entrega: <br> <SELECT NAME="horario" style="width:300px"> <OPTION VALUE="Dias de Semana durante a manhã">Dias de Semana durante a manhã <OPTION VALUE="Dias de Semana durante a tarde">Dias de Semana durante a tarde <OPTION VALUE="Fins de Semana durante a manhã">Fins de Semana durante a manhã <OPTION VALUE="Fins de Semana durante a tarde">Fins de Semana durante a tarde <OPTION VALUE="É Indiferente...">É Indiferente... </SELECT> <br> <br> Tipo de Pagamento: <br> <SELECT NAME="pagamento" style="width:300px"> <OPTION VALUE="Contra Reembolso">Contra Reembolso a Dinheiro <OPTION VALUE="Transferência Bancária">Transferência Bancária </SELECT> <br> <br> <input type="submit" name="enviar" value="Efectuar Registo"> </form> successo.php <? session_start(); if(!session_is_registered(myusername)){ header("location:login.php"); } ?> <html> <body> <br> <center> <font size=4 color=red> <b>Bem vindo!</b> </font> </body> </html> verifica.php <? ob_start(); // Liga-se à Base de Dados include_once('ligacaoBD.php'); // Liga-se ao servidor e selecciona a base de dados. mysql_connect("$host", "$username", "$password")or die("<br><center><font size=4 color=red><b>Erro! - Impossível liga à Base de Dados.</b></font>");header( 'refresh:3; url=index.php' ); mysql_select_db("$db_name")or die("<br><center><font size=4 color=red><b>Erro! - Impossível seleccionar a Tabela.</b></font>");header( 'refresh:3; url=index.php' ); // Define $myusername e $mypassword $myusername=$_POST['myusername']; $mypassword=$_POST['mypassword']; $myusername = stripslashes($myusername); $mypassword = stripslashes($mypassword); $myusername = mysql_real_escape_string($myusername); $mypassword = mysql_real_escape_string($mypassword); $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'"; $result=mysql_query($sql); // Conta o número de linhas da tabela $count=mysql_num_rows($result); if($count==1){ // Regista $myusername, $mypassword e redirecciona para o file "successo.php" session_register("myusername"); session_register("mypassword"); header("location:successo.php"); }else{ echo "<br><center><font size=4 color=red><b>Username ou Password Errados!</b></font>"; header( 'refresh:3; url=index.php' ); } ob_end_flush(); ?> Ok... agora passemos à pasta Produtos onde se encontra o carrinho: nesta pasta temos uma pasta Imagens CMOD(777) actualiza.php <? ob_start(); ?> <? session_start(); include('conexao.php'); // Obtem a id da sessão. $sessao = session_id(); // Obtem a lista de produtos. $itens = $_POST['quantidade']; // Separa a lista e actualiza a base de dados. foreach($itens as $chave => $quantidade){ // O valor de $chave é o código do produto enviado entre []. // O valor de $quantidade é a quantidade do produto. // Multiplicar por um garante que o valor será um número. $quantidade *= 1; $chave *= 1; // Atualiza os valores. mysql_query('UPDATE carrinho SET quant="'.$quantidade.'" WHERE cod="'.$chave.'" AND sessao="'.$sessao.'"'); } // Retorna para a página do carrinho. header('Location: verProdutos.php'); ?> <? ob_flush(); ?> remover.php <? ob_start(); ?> <? session_start(); include('conexao.php'); // Obtem a id da sessão. $sessao = session_id(); // Obtem o código do produto. $produto = $_GET['id']; // Apaga o produto do carrinho. mysql_query('DELETE FROM carrinho WHERE cod="'.$produto.'" AND sessao="'.$sessao.'"'); // Redireciona para a página de visualização. header('Location: verProdutos.php'); ?> <? ob_flush(); ?> carrinho.php <? ob_start(); session_start(); include "conexao.php"; $sessao = session_id(); $prod = intval($_GET["produto"]); // Aqui verifico se existe algum carrinho pra essa sessão $selc = mysql_query("SELECT * FROM carrinho WHERE sessao='$sessao' AND cod='$prod'") or die(mysql_error()); $numrows = mysql_num_rows($selc); $arr = mysql_fetch_array($selc); if($numrows > 0) { // Se retornar carrinhos para esta sessão, a var $qtde assume o valor do campo quant $qtde = $arr["quant"]; } else { // Caso contrário, assume valor 0 $qtde = "0"; } if($qtde >= 1) { // Verifico se já existe um produto igual registrado pra esse carrinho. Se existir, aumento quantidade em +1 $nova_qtde = $qtde + 1; $sql = "UPDATE carrinho SET quant='$nova_qtde' WHERE sessao='$sessao' AND cod='$prod'"; } else { // Se não existir, registro com quantidade = 1 $sql = "INSERT INTO carrinho (id, cod, quant, sessao) VALUES('', '$prod', '1', '$sessao')"; } $query = mysql_query($sql); if($query) { echo "<center><br><font size='5' color='red'><b>OK... Produto Adicionado ao Carrinho!</b></font><br><br>"; header( 'refresh:3; url=verProdutos.php' ); echo "<center><a href='index.php'><img src='BotLoja.png' border='0'></a> <a href='verProdutos.php'><img src='BotCarrinho.png' border='0'></a>"; } else { echo "O produto não pôde ser adicionado ao carrinho!"; echo "<center><a href='index.php'><img src='BotLoja.png' border='0'></a>"; } ob_flush(); ?> conexao.php <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <? // Dados da ligação $servidor = 'localhost'; $usuario = ''; $senha = ''; $banco = 'teste'; // Conecta ao MySQL if(!$con = mysql_connect($servidor, $usuario, $senha)){ echo 'Erro na ligação à base de dados'; exit(); } // Seleciona o banco de dados if(!mysql_select_db($banco, $con)){ echo 'Erro ao selecionar a base de dados'; exit(); } ?> detalhes.php <? ob_start(); include('conexao.php'); ?> <html> <body> <? $id = $_GET['id']; $itens = mysql_query("SELECT * FROM produtos WHERE id = '$id'") or die(mysql_error()); if(mysql_num_rows($itens) < 1){ echo "Produto inválido!<br><br><a href='index.php'>Ir para a loja</a>"; } else { while($item = mysql_fetch_assoc($itens)){ ?> <center> <img src='BannerLoja.png' border='0'><br> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800'> <tr> <td bgcolor='#ffffff' align='center'> <? echo ' <br> <img width=400 height=300 border=0 src="Imagens/'.$item['img'].'"> <br> <b>'.$produto['nome'].'</b> <br> '; ?> </td> </tr> <tr> <td bgcolor='#99cc33' align='center'> <center> <font size='2' color='#ffffff'><b>Detalhes do Produto:</b></font> </td> </tr> <tr> <td bgcolor='#e3e3e3' align='center'> <font size='4' color='#000000'><b><? echo $item['cod'] ?><? echo $item['nome'] ?></b></font> <? echo ' <br> <b><hr size=1 color=green><font color=#99cc33>Descrição Detalhada:</font></b><br>'.$item['descricao'].' <br> <b><hr size=1 color=green><font color=#99cc33>Extras Incluídos:</font></b><br>'.$item['extras'].' <br> <b><hr size=1 color=green><font color=#99cc33>Stock Actual:</font></b><br>'.$item['stock'].' '; ?> <br> <b><hr size=1 color=green><font color=#99cc33>Preço:</font></b><br> <font size='4' color='red'> <b>€</b> <? echo number_format($item['preco'], 2, ',', '') ?> </td> </tr> <tr> <td bgcolor='#99cc33' align='center'> <?echo'<a href="carrinho.php?produto='.$item['id'].'"><img src="../Produtos/BotAdicionar.png" border="0"></a>';?><a href="verProdutos.php"><img src="BotCarrinho.png" border="0"></a> <a href="#" onclick="window.print();return false;"><img src="BotImprimir.png" border="0"></a> <a href="index.php"><img src="BotLoja.png" border="0"></a> <a href="finalizar.php"><img src="BotFinalizar.png" border="0"></a> </td> </tr> </table> <? }} ob_flush(); ?> </body> </html> verProdutos.php <? ob_start(); session_start(); include('conexao.php'); // Obtendo a id da sessão $sessao = session_id(); ?> <html> <body> <form action='actualiza.php' method='post'> <? // Requisita à base de dados a id, quantidade e nome do produto. // Como o nome está numa tabela diferente dos outros itens, incluo o nome da tabela junto ao nome do campo. $itens = mysql_query('SELECT carrinho.cod, carrinho.quant, produtos.nome, produtos.img, produtos.preco FROM carrinho,produtos WHERE carrinho.cod = produtos.id AND carrinho.sessao = "'.$sessao.'"'); // Uma verificação simples se o carrinho está vazio ou não if(mysql_num_rows($itens) < 1){ // Se o carrinho estiver vazio só exibe uma mensagem e um link para a loja echo "<center><br><font size='5' color='red'><b>O carrinho está vazio...</b></font><br><br><a href='index.php'><img src='BotLoja.png' border='0'></a>"; header( 'refresh:3; url=index.php' ); } else { // Exibe os itens presentes no carrinho ?> <center> <img src='BannerCarrinho.png' border='0'><br> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800'> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <font color='#99cc33' size='2'><b></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <font color='#99cc33' size='2'><b>Lista de Produtos:</b> </td> <td bgcolor="#eeeeee" width="100"> <center> <font color='#99cc33' size='2'><b>Preço Uni.</b> </td> <td bgcolor="#e3e3e3" width="50"> <center> <font color='#99cc33' size='2'><b>Quant.</b> </td> <td bgcolor="#eeeeee" width="50"> <center> <font color='#99cc33' size='2'><b>Opções</b> </td> </tr> <? // Calcular o preço total $total = 0; // Dou um loop pra listar is itens do carrinho de compras while($item = mysql_fetch_assoc($itens)){ ?> <tr valign="middle"> <td bgcolor="#e3e3e3" width="40" align="left" valign="middle"> <center><b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo '<img width=40 height=30 border=0 src="Imagens/'.$item['img'].'">' ?></a></b> </td> <td bgcolor="#e3e3e3" width="600" align="left" valign="middle"> <b><a href="detalhes.php?id=<? echo $item['cod'] ?>"><? echo $item['nome'] ?></a></b> </td> <td bgcolor="#eeeeee" width="100"> <center> <b>€</b> <? echo number_format($item['preco'], 2, ',', '') ?> </td> <td bgcolor="#e3e3e3" width="50"> <center> <input size='4' type='text' name='quantidade[<? echo $item["cod"] ?>]' value='<? echo $item["quant"] ?>'> </td> <td bgcolor="#eeeeee" width="50"> <center> <a href='remover.php?id=<? echo $item["cod"] ?>'><img src='BotRemover.png' border='0'></a> </td> </tr> <? $total += $item['preco'] * $item['quant']; } ?> </table> <center> <table bgcolor='#99cc33' cellpadding='5' cellspacing='1' width='800' border='0'> <tr> <td bgcolor='#99cc33' width='560'> <font color='#ffffff' size='4'> <b>Total: €<font color='yellow'> <? echo number_format($total, 2, ',', ''); ?></b></font> - Iva incluído à taxa em vigor.</font> </td><td><font color='#666666' size='2'> Preço s/portes de envio. <a href='portes.php'>Ver Preço Portes</a></font> </td> </tr> </table> <center> <hr size=1 width="800" color="green"> <INPUT TYPE="image" SRC="BotActualizar.png" BORDER="0"> <a href=''><img src='BotLimpar.png' border='0'></a> <a href='index.php'><img src='BotLoja.png' border='0'></a> <a href='finalizar.php'><img src='BotFinalizar.png' border='0'></a> </form> <? } ob_flush(); ?> </body> </html> e é tudo... espero que com todo o carrinho aqui postado seja possivel mais pessoas melhorar e completar o pouco que esta em falta para partilhar com todos, em vez de dizerem que partilham e depois ninguem partilha nada... ora bem, o que está a faltar neste carrinho é fazer com que o carrinho associe as 2 sessions que existem, os produtos e o login do usuario e que crie uma nova pagina com os dados do carrinho e usuario logado para que possa finalizar a compra. ao finalizar a compra deverá enviar 1 email ao usuario com a sua encomenda e uma mensagem a dizer que está a ser processáda para envio, 1 email ao dono da loja virtual com os dados da encomenda e morada etc do usuario e ainda reduzir no DB na tabela stock os produtos que foram comprados... desta maneira conseguimos finalizar a compra e actualizar o stock ao mesmo tempo. É isso aí... espero contar com todos voces para terminar-mos o meu trabalho de ja 2 meses... Abraços, fiquem com deus! Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 12, 2009 CREATE TABLE carrinho ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, cod INT NOT NULL, quant INT NOT NULL, sessao VARCHAR(64) NOT NULL, INDEX sessao (sessao) ); Explique cada um dos campos desta tabela... Por exemplo, id é o id do carrinho, certo? Cod é o que??? Código do produto? Do usuário??? Quant é a quantidade de cada produto? Sessao, o que é??? Onde está a ligação com o usuário??? Como você faz para saber que tal carrinho é de tal usuário??? Acho que é um problema de modelagem do banco de dados... Alias, fazer carrinho de compras com banco de dados eu nunca vi... Normalmente se faz gravando os dados em session... Mas aí fica a seu critério. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 12, 2009 id é o id do carrinho. Cod é o numero unico gerado para cada produto no carrinho. Quant é a quantidade de cada produto Sessao é o numero unico de sessao Onde está a ligação com o usuário??? o usuario esta na DB membros Como você faz para saber que tal carrinho é de tal usuário??? R: é precisamente isso que queria fazer Normalmente se faz gravando os dados em session??? eu no toturial que segui quando criei o carrinho tinha assim com base de dados... penso que é melhor para guardar os produtos na tabela em vez de ter que escrever no codigo cada produto... n sei... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 12, 2009 Onde está a ligação com o usuário??? o usuario esta na DB membros Como você faz para saber que tal carrinho é de tal usuário??? R: é precisamente isso que queria fazer Quando eu pergunto ligação... é exatamente o que identifica que o carrinho é de tal usuário... Veja... - Ligação com os produtos - código do produto - Ligação com o usuário - Falta... A modelagem do seu BD está errado. No carrinho tem que ter um campo com a identificação do usuário que fez a compra, ou seja, de quem é o carrinho. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 12, 2009 entao mas isso n pode ser pegado da DB membros? assim se o usuario fizesse o login ele pegava nos dados desse usuario e usava no carrinho, se nao abria a pag para o usuario se inscrever... é que fiz promeiro o carrinho e so depois criei o script para login, por isso ficou em 2 DB diferentes... como ficaria se fosse você a fazer? neste caso seria o id_membro na DB membros Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 12, 2009 Tem que ficar em 2 tabelas mesmo... Faça ligação na hora da consulta... JOIN http://dev.mysql.com/doc/refman/4.1/pt/join.html Dica: Leia algumas apostilas sobre trabalhar com relacionamento de tabelas no Mysql... Vai te ajudar a entender como fazer. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 12, 2009 xiiii ja tive a dar uma vista de olhos, mas n estou a ver como aplicar isso aqui... eu vou ter que dizer para mostrar todos os dados incluidos na sessao do carrinho e na sessao do usuario com o id_membro activo :huh:/> Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 12, 2009 Isto mesmo. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 12, 2009 :(/> n estou a conseguir... nao acredito que depois de fazer tanta coisa vou encalhar aqui onde quase toda a gente encalha... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 12, 2009 Você tem que adicionar mais um campo na tabela do banco de dados do carrinho, identificando quem é o usuário. Depois faz a consulta usando o JOIN no id das 2 tabelas... Não tem dificuldade. Se não está conseguindo fazer isto, é melhor estudar um pouco mais sobre PHP com Mysql, especialmente sobre relacionamento de tabelas. Porque fazer isto é o básico. Se você não está fazendo nenhum JOIN... tem coisa bem errada no teu carrinho de compras... Olhe nesta página. http://www.apostilando.com Tem muuuuuuuuiiiiiitas apostilas sobre o assunto. Lendo qualquer uma delas você consegue entender a lógica do que estou te falando. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 12, 2009 Você tem que adicionar mais um campo na tabela do banco de dados do carrinho, identificando quem é o usuário. Depois faz a consulta usando o JOIN no id das 2 tabelas... Não tem dificuldade. Se não está conseguindo fazer isto, é melhor estudar um pouco mais sobre PHP com Mysql, especialmente sobre relacionamento de tabelas. Porque fazer isto é o básico. Se você não está fazendo nenhum JOIN... tem coisa bem errada no teu carrinho de compras... Olhe nesta página. http://www.apostilando.com Tem muuuuuuuuiiiiiitas apostilas sobre o assunto. Lendo qualquer uma delas você consegue entender a lógica do que estou te falando. Carlos Eduardo criei uma nova coluna na DB carrinho (idmembro VARCHAR(64) NOT NULL,) deixa ver se eu percebi, visto a tabela Membros ser outra a parte, tenho que fazer com que ao fazer o login, a tabela membros envio o id para a tabela carrinho e o guarde no idmembro para depois pegar a idmembro e a cod e criar a pagina com os produtos e dados do cliente??? :mellow:/> Compartilhar este post Link para o post Compartilhar em outros sites
henry franklin 0 Denunciar post Postado Julho 12, 2009 olá Ricktuga. tens q pensar agora em duas coisas. - carrinho - salvamento das informações detalhe como estás salvando as "$_SESSIONS[]" - está em duas "session()" diferentes? - estão em diferentes variáveis dentro da mesma "session()"? geralmente se salva no banco de dados depois do "finalizar compra" a menos q queiras "recuperar" a compra depois ou fazer um histórico de atividades. Compartilhar este post Link para o post Compartilhar em outros sites
rickytuga 0 Denunciar post Postado Julho 12, 2009 olá Ricktuga. tens q pensar agora em duas coisas. - carrinho - salvamento das informações detalhe como estás salvando as "$_SESSIONS[]" - está em duas "session()" diferentes? - estão em diferentes variáveis dentro da mesma "session()"? geralmente se salva no banco de dados depois do "finalizar compra" a menos q queiras "recuperar" a compra depois ou fazer um histórico de atividades. boas... estou a gravar na session carrinho e na session membros o que deveria corresponder aos produtos no carrinho (que esta a funcionar as mil maravilhas) e a no membros que é outra session com os dados do user. A minha duvida é mm criar uma outra pagina que exiba os produtos no carrinho tal como aparece no verProdutos.php onde se pode alterar quantidades, eliminar etc... e nessa mesma pagina a cena dos membros onde apos o login a pagina associe o que esta no carrinho aos dados desse cliente e envie. Ao enviar reduz no stock os produtos comprados. sinceramente deve ser facil, mas eu n estou a conseguir e pelo que vi ja em inumeros foruns e tuturiais é a parte onde toda a gente para sem saber pra onde se virar... Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Julho 13, 2009 Veja que você confunde a todos assim... estou a gravar na session carrinho e na session membros Você não grava na session... Grava no BD. Aí bagunça a nossa cabeça e fica difícil de ajudar... Mas de qualquer forma... criei uma nova coluna na DB carrinho (idmembro VARCHAR(64) NOT NULL,) deixa ver se eu percebi, visto a tabela Membros ser outra a parte, tenho que fazer com que ao fazer o login, a tabela membros envio o id para a tabela carrinho e o guarde no idmembro para depois pegar a idmembro e a cod e criar a pagina com os produtos e dados do cliente??? Isto mesmo... Vou te dar um exemplo. $sql = 'SELECT * FROM carrinho JOIN membros ON carrinho.idmembro = membros.id_membro WHERE sessao = SUA SESSAO'; Mais ou menos assim. Tenta aí. Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites