Jump to content
Sign in to follow this  
linkpt

[Ajuda] Carrinho de compras em PHP

Recommended Posts

linkpt

Boas pessoal, venho pedir aqui aos entendidos em php que me dessem umas ajudasinhas tenho um trabalhop para fazer em php.

Eu estou a tirar um curso profissional de informatica estou no 11º ano, e na disciplina de redes ja me mandaram fazer um trabalho em html um site, eu fiz e um site com hardware e perifericos para pc, ate ai tudo bem.

Agora o setor pedio-me para fazer um carrinho de compras para a loja, mas sem BD so em php, ou seja eu vou utilizar cookies para guardar os produtos e o preço.

Depois deste testamento, eu ja criei um formulario em dois produtos so para testar e tenho um frame em com php assim:

<?php
$produto=$_POST['produto'];
$preco=$_POST['preco'];

$listacompras=$_COOKIE['listaprods'];
$listaprecos=$_COOKIE['listaprecos'];


if ($listaprecos!=""){
$listacompras=$listacompras . "|" . $produto;
$listaprecos=$listaprecos . "|" . $preco;
}else{
$listacompras=$produto;
$listaprecos=$preco;

setcookie("listaprods",$listacompras,time()+300);
setcookie("listaprecos",$listaprecos,time()+300);

$arrayprodutos=explode("|",$listacompras);
$arrayprecos=explode("|",$listaprecos);

?>

<div align="center">
<table border=0>
<tr>
  <th>Produtos</th>
  <th>precos</th>
</tr>


<?php


$total=0
for ($i=0;$i<count($arrayprodutos);$i++){
echo "<tr><td>";
echo $arrayprodutos($i);
echo "</td>";
echo "<td>";
echo $arrayprecos($i);
echo "</td></tr>";
$total=$total+$arrayprecos($i);
}

?>

eu estou a utilizar o mowes portable para conseguir visualisar a parte em php, mas quando eu carrego no botao comprar, nao acontece nada e o frame em que suposto aparecer os dados fica em branco...

Espero que me consigam ajudar, cumpz... e obrigado...

Share this post


Link to post
Share on other sites
KTachyon

Isso sem BD é ridículo. Sem BD só se guardares a informação dos produtos em ficheiros, o que é igualmente ridículo. Isto porque só deves ter a lista de produtos (ou, IDs para os produtos) e quantidades nos cookies, não preços. Senão podes ser roubado por um utilizador (assumindo que te fias sempre na informação que vem no cookie). A partir dos IDs consegues obter o produto e o preço correspondente e, multiplicando pela quantidade, obténs sempre o preço correcto.

De qualquer forma, aqui só tens o código para mostrar a lista de produtos, não para comprar.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
linkpt

Boas, como foi dito isso e so para um trabalho da escola, por isso nao ha o problema de ser roubado.

Em relaçao ao codigo de comprar tenho um form e um submit assim:

<form action="direita.php" method="POST" target="direita">
      <input type="hidden" value="Asus G51JX-IX243V 3D" name="produto"> 
      <input type="hidden" value="1530" name="preco">
     Asus G51JX-IX243V 3D</a> <br> <img src="http://localhost/LinkPT'Store WebPage/.\Imagens\Asus1.png" border="0" alt="Asus G51JX-IX243V 3D" title=" Asus G51JX-IX243V 3D " width="150" height="150"></a> <br> 1.530,00€ <br>
      <input type="submit" value="Comprar">
      </form>

Mas com estes códigos nao consigo por a mostrar nada aparece me a pagina de php toda branca...

Cumpz... e obrigado...

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Se o teu professor te pediu para fazeres sem base de dados, então usa arrays e não cookies.

1) Com os arrays podes entrar no código-fonte e adicionar/apagar os produtos que quiseres.

2) Os cookies ficam gravados no computador do cliente. Por exemplo, se deixares de ter um produto A, qualquer cliente teu que já tenha visitado a loja, continua a ver o produto A e ter a possibilidade de o comprar... Ou seja... esquece essa opção.

Aqui fica um exemplo, mais ou menos...

Se tiveres alguma dúvida...

<html>
<head>
	<title>Carrinho de compras</title>
</head>
<body>

<?php
$listaProdutos[] = array('id' => 1, 'nome' => 'Produto A', 'preco' => '1');
$listaProdutos[] = array('id' => 2, 'nome' => 'Produto B', 'preco' => '2');
$listaProdutos[] = array('id' => 3, 'nome' => 'Produto C', 'preco' => '3');

if( isset( $_POST['produtos'] ) ){

	$custo = 0;

	foreach( $_POST['produtos'] as $p ){

		foreach( $listaProdutos as $produto ){

			if( $produto['id'] == $p ){

				$custo += $produto['preco'];
				break;

			}

		}
	}

	echo "<p>Custo total: {$custo}</p>";

}
?>

<form method="post">
	<?php
	foreach( $listaProdutos as $p ){

		echo $p['nome'] . ' <input type="checkbox" name="produtos[]" value="' . $p['id'] . '" /><br />';

	}
	?>
	<input type="submit" name="comprar" value="Comprar!">
    </form>
<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  

×
×
  • 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.