1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Finalizar carrinho.php

Discussão em 'Web Development' iniciada por xXRusso94Xx, 30 de Junho de 2012. (Respostas: 4; Visualizações: 1627)

  1. Bom dia, gente.
    Eu sou um iniciante neste forum, tal como no php.
    Preciso de ajuda urgente pois só tenho uma semana para acabar este importante trabalho.
    Eu tou a fazer um site com carrinho em php, ele apesar de não muito bonito, funciona razoavelmente bem, contudo queria finalizar o carrinho e não sei como.

    Aqui esta o ficheiro produtos.php

    Código:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>A minha PAP/ trabalho de redes</title> </head> <body> <a href="javascript:history.go(-1)">Voltar</a> <table border=1 h> <tr> <?php if(isset($_GET["tipo"])) $tipo=$_GET["tipo"]; require("conexao.php"); $linhas=0; $sql = "SELECT * FROM produtos where tipo='$tipo'" ; $qr = mysql_query($sql) or die(mysql_error()); while($ln = mysql_fetch_assoc($qr)){ if($linhas == 4){ echo '<tr>'; $linhas=0; } $linhas=$linhas+1; echo '<h2><td>'.$ln['nome'].'</h2> <br />'; echo 'Preço : € '.number_format($ln['preço'], 2, ',', '.').'<br />'; echo '<img src="imagens/'.$ln['imagem'].'" width="250px" height="250px"/> <br />'; echo '<a href="carrinho.php?acao=add&id='.$ln['id'].'">Adicionar ao Carrinho</a>'; echo '</td>'; } ?> </tr> </table> </body> </html>
    Carrinho.php
    Código:

    <?php session_start(); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; }else{ $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id] = $qtd; }else{ unset($_SESSION['carrinho'][$id]); } } } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>A minha PAP</title> </head> <body> <a href="javascript:history.go(-1)">Voltar</a> <table align="center" border=1> <caption bgcolor="#006633">Carrinho de Compras</caption> <thead> <tr> <th width="244">Produto</th> <th width="79">Quantidade</th> <th width="89">Pre&ccedil;o</th> <th width="100">SubTotal</th> <th width="64">Remover</th> </tr> </thead> <form action="?acao=up" method="post"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td> <tr> <td colspan="5"><a href="loja.php">Continuar Comprando</a></td> <tr> <td colspan="5"><a href="finalizar.php">Finalizar compra</a></td> </tfoot> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>'; }else{ require("conexao.php"); $total = 0; foreach($_SESSION['carrinho'] as $id => $qtd){ $sql = "SELECT * FROM produtos WHERE id= '$id'"; $qr = mysql_query($sql) or die(mysql_error()); $ln = mysql_fetch_assoc($qr); $nome = $ln['nome']; $preco = number_format($ln['preço'], 2, ',', '.'); $sub = number_format($ln['preço'] * $qtd, 2, ',', '.'); $total += $ln['preço'] * $qtd; echo '<tr> <td>'.$nome.'</td> <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td> <td>€ '.$preco.'</td> <td>€ '.$sub.'</td> <td><a href="?acao=del&id='.$id.'">Remover</a></td> </tr>'; } $total = number_format($total, 2, ',', '.'); echo '<tr> <td colspan="4">Total</td> <td>€ '.$total.'</td> </tr>'; } ?> </tbody> </form> </table> </body> </html>
    conexao.php

    Código:

    <?php mysql_connect("localhost", "root", ""); mysql_select_db("carrinho_de_compras"); ?>
    PS: (Penso que estes ficheiros são suficientes para a vossa ajuda, caso seja preciso mais é só pedir.)

    O que queria mesmo era um ficheiro em php que mostrasse o que comprou, a quantidade, e o preço de cada e o total a pagar... Depois que enviasse essa informação toda para o email(Isto não é muito importante), se me ajudassem na só a mostrar tudo já era bom.
    Desde já, obrigado!
     
  2. Isto ficou tudo mal, aqui ficam os ficheiros...
    produtos.php
    Carrinho.php
    conexao.php

     
  3. ftav

    ftav Power Member

    Viva. Para mostrar a informação da compra, basta criar uma sessão temporária que armazene os valores. Para mandar email, pode usar-se a função mail() do próprio PHP ou uma biblioteca do tipo Mailer. Mas esse código não foi copiado? É que encontrei um site onde tem um código muito parecido a esse, aqui: http://www.scriptbrasil.com.br/forum/lofiversion/index.php/t144734.html . Não sei se pode tirar-se dúvidas sobre códigos de terceiros.
     
  4. ftav sim, a estrutura do carrinho foi copiado, um pouco modificado por mim, mas não foi desse site... de qualquer maneira obrigado.

    Bem pessoal, deixo-vos aqui o codigo para quem quiser aproveitar para um carrinho de compras:
    AVISO: Este ficheiro foi feito por mim, tem alguns erros, lá diz que envia para o email(Quem vir o codigo percebe logo que não); Este ficheiro foi so para remediar e "enganar" quem vai avaliar, pois não vai ver o codigo...
    Contudo se alguém quiser apreveitar e melhorar aqui fica:


    Desde já obrigado a todos, muita gente pode ate nao ter respondido, mas pode ter procurado ajudar-me fazendo um codigo ou a pesquisar sobre ele... obrigado.


    PS: Obvio que tem que criar no carrinho.php uma hiperligação para este ficheiro.. com o nome que vocês quiserem..
     
  5. ftav

    ftav Power Member

    Uma dúvida: como é que esse código distingue 2 utilizadores que estejam a fazer compras em simultâneo, se a sessão tem sempre o nome de "carrinho"?
     

Partilhar esta Página