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 'Programação' iniciada por xXRusso94Xx, 29 de Junho de 2012. (Respostas: 1; Visualizações: 1417)

  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. 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:


    Código:
    <?php
          session_start();
         
          if(!isset($_SESSION['carrinho'])){
             $_SESSION['carrinho'] = array();
          }
    ?>
    <!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>
    <style type="text/css">
    .aaaaaaaaaaaaaaaaaaaaaa {
    color: #0000A0;
    }
    </style>
    </head>
    
    <body>
    <p>&nbsp;</p>
    <table align="center" border=0>
        <thead>
              <tr>
                <th colspan="4" align="left" bgcolor="#FFFFFF" co><h2 class="aaaaaaaaaaaaaaaaaaaaaa">COMPRAS EFECTUADAS:</h2></th>
              </tr>
              <tr>
                <th width="125" align="left"><h3>Produto</h3></th>
                <th width="145" align="left"><h3>Quantidade</h3></th>
                <th width="99" align="left"><h3>Pre&ccedil;o</h3></th>
                <th width="155" align="left"><h3>SubTotal</h3></th>
             
              </tr>
      </thead>
                <form action="" method="post">
       
        <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>
                                  </tr>';
                            }
                               $total = number_format($total, 2, ',', '.');
                               echo '<tr>
                                        <td colspan="4">Total</td>
                                        <td>€ '.$total.'</td>
                                  </tr>';
                         }
                   ?>
    <?php session_destroy();
    echo "<meta HTTP-EQUIV='Refresh' CONTENT='10;URL=index.php'>";
        ?>
         </tbody>
    
            </form>
    </table>
    <p>&nbsp;</p>
    <h4><br />
      Obrigado pela preferencia na nossa loja!<br />
    Ir&aacute; ser-lhe envia-do para o email a confirma&ccedil;&atilde;o do produto, futuramente entrare-mos em contacto consigo.</h4>
    <p>Compra efectuada com sucesso, ir&aacute; ser rederecionado(a) automaticamente, caso contrario <a href="index.php">clique aqui </a></p>
    </body>
    </html>
    
    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..
     

Partilhar esta Página