Jump to content
Sign in to follow this  
Marcelo Aug.

Carrinho de Compras com Array e Sessions

Recommended Posts

Boa tarde pessoal!

 

Estou com um pequeno problema aqui, fiz um carrinho de compras bem simples seguindo um velho tutorial aqui do imasters, só que está dando erro em uma linha do comando que eu ja alterei e não deu certo.

 

Deprecated: Function eregi_replace() is deprecated

 

Ja alterei esse eregi_replace para outros que poderiam substituir, o erro some, mas não ocorre a soma do subtotal dos produtos. Alguem pode me ajudar por favor?

<?php
//INICIALIZA A SESSÃO
session_start();


//VERIFICA SE A OPÇÃO ATUALIZAR FOI SELECIONADA
if($_POST[opc_atualizar]) {
   
   //RECEBE OS PRODUTOS CHECADOS PARA ATUALIZAÇÃO
   $v_atualiza  =  $_POST[a_prod];
   
   //PEGA A CHAVE DO ARRAY
   $chave  =  array_keys($v_atualiza);
   
   //EXIBE
   for($i=0; $i<sizeof($chave); $i++) {
	  //PEGA O INDICE DO PRODUTO
	  $indice   =   $chave[$i];
	  
	  //ALTERA A QUANTIDADE DO PRODUTO SELECIONADO
	  $_SESSION[cesta][$indice][QTDE]   =  $v_atualiza[$indice][QTDE];
   }//FECHA FOR
}//FECHA IF


//VERIFICA SE A OPÇÃO EXCLUIR FOI SELECIONADA
elseif($_POST[opc_excluir]) {
   
   //RECEBE OS PRODUTOS CHECADOS PARA EXCLUSÃO
   $excluir  =  $_POST[check];
   
   //EXIBE
   for($i=0; $i<sizeof($excluir); $i++) {
	  //PEGA O INDICE DO PRODUTO
	  $indice   =   $excluir[$i];
	  //DESTRÓI A VARIÁVEL ESPECIFICADA
	  unset($_SESSION[cesta][$indice]);
   }//FECHA FOR
}//FECHA IF



//RECEBE O PEDIDO DO USUÁRIO
elseif($_POST[opc_efetivar]) {
   //RECEBE AS VARIÁVEIS
   $v_prod  =  $_POST[txtprod];
   
   //PEGA A CHAVE DO ARRAY
   $chave  =  array_keys($v_prod);

   //EXIBE
   for($i=0; $i<sizeof($chave); $i++) {
      $indice  =  $chave[$i];
      
      //VERIFICA
      if(!empty($v_prod[$indice][QTDE]) ) {
      
	     //GRAVA NO ARRAY CESTA
	     $cesta[$indice][ARTISTA]  =    $v_prod[$indice][ARTISTA];
	     $cesta[$indice][ALBUM]    =    $v_prod[$indice][ALBUM];
	     $cesta[$indice][PRECO]    =    $v_prod[$indice][PRECO];
	     $cesta[$indice][QTDE]     =    $v_prod[$indice][QTDE];
      }//FECHA IF
   }//FECHA FOR
   
   //GRAVA NA SESSÃO
   $_SESSION[cesta]        =   $cesta;
}//FECHA ELSE
?>

<html>
<head>
<title>95º artigo PHP</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
.style2 {
	color: #000000;
	font-weight: bold;
}
.style5 {color: #FFFFFF; font-weight: bold; }
-->
</style>

<script language="JavaScript">
<!--
   function enviar(opcao) {
      //OPÇÃO EXCLUIR SELECIONADA
	  if(opcao == 'E') {
	     document.forms[0].opc_excluir.value = 1;
		 document.forms[0].submit();
      }//FECHA IF
	  
	  //OPÇÃO ATUALIZAR SELECIONADA
	  if(opcao == 'A') {
	     document.forms[0].opc_atualizar.value = 1;
		 document.forms[0].submit();
      }//FECHA IF
	  
	  //OPÇÃO FINALIZAR SELECIONADA
	  if(opcao == 'F') {
	     document.forms[0].opc_finalizar.value = 1;
		 document.forms[0].action = "finalizar.php";
		 document.forms[0].submit();
      }//FECHA IF
	  
   }//FECHA FUNCTION
//-->
</script>

</head>

<body>
<table width="773"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><img src="topo.gif" width="773" height="100"></td>
  </tr>
  <tr>
    <td><br>
    <br>
    <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td align='center'><font face='Arial' size='4'><b>Carrinho de compras utilizando arrays e session</b></font></td>
      </tr>
    </table>
    <br>
    <br>
    <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td><font size="2" face="Arial">Carrinho de Compras: </font></td>
      </tr>
    </table>
	
	<?php
	//EXIBE O CARRINHO SE TIVER PRODUTOS
	if(count($_SESSION[cesta]) > 0) { ?>
	
    <form name="frmCarrinho" method="post">
	   <input type="hidden" name="opc_excluir">
	   <input type="hidden" name="opc_atualizar">
	   <input type="hidden" name="opc_finalizar">
       <table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr bgcolor="#CCCCCC">
          <td width="4%"> </td>
          <td width="8%"><span class="style2">Qtde</span></td>
          <td width="51%"><span class="style2">Produto</span></td>
          <td width="19%"><span class="style2">Valor</span></td>
          <td width="18%"><span class="style2">Subtotal</span></td>
        </tr>
        <?php
	  //PEGA A CHAVE
      $chave_cesta  =  @array_keys($_SESSION[cesta]);
	  
	  //EXIBE OS PRODUTOS DA CESTA
	  for($i=0; $i<sizeof($chave_cesta); $i++) { 
	     $indice   =   $chave_cesta[$i]; 
		 
		 //SUBTOTAIS DE CADA PRODUTO
		 $subtotal =   $_SESSION[cesta][$indice][QTDE] * eregi_replace(",",".",$_SESSION[cesta][$indice][PRECO]);	 
		 //TOTAL GERAL
		 $total   +=   $subtotal;
	  ?>
        <tr>
          <td height="25"><input name="check[]" type="checkbox" value="<?php echo $indice; ?>"></td>
          <td height="25"><font face='Arial' size='2'>
		  <input type="text" name="a_prod[<?php echo $indice; ?>][QTDE]" value="<?php echo $_SESSION[cesta][$indice][QTDE]; ?>" size="3"></font></td>
		  <td height="25"><font face='Arial' size='2'><?php echo $_SESSION[cesta][$indice][ARTISTA]; ?> - <?php echo $_SESSION[cesta][$indice][ALBUM]; ?></font></td>
          <td height="25"><font face='Arial' size='2'>R$ <?php echo $_SESSION[cesta][$indice][PRECO]; ?></font></td>
          <td width="18%" height="25"><font face='Arial' size='2'> R$ <?php echo number_format($subtotal,2,',','.'); ?></font></td>
        </tr>
        <?php
	  }//FECHA FOR ?>
        <tr>
          <td height="25" colspan="3">
		  <input type="image" name="btnExcluir" src="excluir.gif" onClick="enviar('E');">  
		  <input type="image" name="btnAtualiza" src="atualizar.gif" onClick="enviar('A');"></td>
          <td height="25" bgcolor="#FF0000"><span class="style5">  Total à pagar: </span></td>
          <td height="25" bgcolor="#FFF0F0" class="style2">   R$ <b><?php echo number_format($total,2,',','.'); ?></b></td>
        </tr>
        <tr>
          <td height="25" colspan="3"> </td>
          <td height="40" colspan="2"><div align="center">
		  FORM<input type="image" name="btnFinaliza" src="finaliza.gif" onClick="enviar('F');"></div></td>
          </tr>
      </table>
    </form>
	<?php
	}//FECHA IF(count) 
	else { ?><br><br><br>
      <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td align='center'><font face='Arial' size='2' color="#006666"><b>Desculpe, mas no momento você não possui nenhumm produto.</b></td>
      </tr>
      </table><br><br>
	<?php
	}//FECHA ELSE (count)?>
    <table width="70%"  border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
        <td align='center'><font face='Arial' size='2'><a href="index.php"><< Voltar </a></font></td>
      </tr>
    </table>
    <br>
    </td>
  </tr>
  <tr>
    <td><img src="rodape.gif" width="773" height="20"></td>
  </tr>
</table>
</body>
</html>

Share this post


Link to post
Share on other sites

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
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.