Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luiz Eduardo_8047

[Resolvido] Php - Carrinho de compras

Recommended Posts

Ola galera sou novo aqui no imaster, e estou com um problemão, bom desculpe se fiz algo errado aqui, pois como ja disse sou novo aqui no forum, bom é o seguinte procurei infinitamente varios codigos na internet, ja tentei fazer mas estou tendo um trampo nessa parte

 

gostaria de manda um id_produto pra area de carrinho que armazenasse e como sempre adcionar escolher quantidade e tal

mas em vez de comprar a pessoa preenchia um formulario e me enviaria.

alguma ajuda por favor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simples, tente salvar o id_produto em uma sessão, e quando a pessoa te enviar o formulário, tu manda um input="hidden" com o valor do id_produto...

 

^_^

 

Certo, oBrigado, mas como faço para armazenar e continuar comprando, sem usar arrays?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entedi, você terá lá por exemplo a imagem do produto e o usuário poderá cliclar nela, aí você quer enviar o id dessa imagem (produto) para outra página. Se for através de link, é só você incluir o php dentro do link, exemplo:

<a href='pagina.php?id_produto=<?php echo $id_produto ?>'xxxx</a>

 

Se for com botão através do POST, é só você colocar o hiddent.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas como faço para armazenar e continuar comprando, sem usar arrays?

Armazene em sessão, cookie, algo que fique no computador do usuário...

 

mas trabalhar com array é necessário, e muito, aconselho aprender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Armazene em sessão, cookie, algo que fique no computador do usuário...

 

mas trabalhar com array é necessário, e muito, aconselho aprender.

 

Valew, valew mesmo, ate que enfim uma luz, estou providenciando aprender ARRAY!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer metade, agora como faço pra enviar as informações

 

kkk, help me

 

 

 

<?php require_once('Connections/dsdf.php'); ?>
<?php
//NeXTenesio Special List Recordset
$colname_Recordset1 = "-1";
if (isset($_GET['id_produto'])) {
 $colname_Recordset1 = $_GET['id_produto'];
}
mysql_select_db($database_dsdf, $dsdf);

$query_Recordset1 = sprintf("SELECT * FROM produto WHERE id_produto = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $dsdf) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
//End NeXTenesio Special List Recordset
?>
<?php
require_once('Connections/dsdf.php');
// Include functions
require_once('inc/functions.inc.php');
// Start the session
session_start();
// Process actions
$cart = $_SESSION['cart'];
$action = $_GET['action'];
switch ($action) {
case 'add':
	if ($cart) {
		$cart .= ','.$_GET['id'];
	} else {
		$cart = $_GET['id'];
	}
	break;
case 'delete':
	if ($cart) {
		$items = explode(',',$cart);
		$newcart = '';
		foreach ($items as $item) {
			if ($_GET['id'] != $item) {
				if ($newcart != '') {
					$newcart .= ','.$item;
				} else {
					$newcart = $item;
				}
			}
		}
		$cart = $newcart;
	}
	break;
case 'update':
if ($cart) {
	$newcart = '';
	foreach ($_POST as $key=>$value) {
		if (stristr($key,'qty')) {
			$id = str_replace('qty','',$key);
			$items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
			$newcart = '';
			foreach ($items as $item) {
				if ($id != $item) {
					if ($newcart != '') {
						$newcart .= ','.$item;
					} else {
						$newcart = $item;
					}
				}
			}
			for ($i=1;$i<=$value;$i++) {
				if ($newcart != '') {
					$newcart .= ','.$id;
				} else {
					$newcart = $id;
				}
			}
		}
	}
}
$cart = $newcart;
break;
}
$_SESSION['cart'] = $cart;
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>funcionaaa!! </title>
<link rel="stylesheet" href="css/styles.css" />
</head>

<body>
<center>
</center>
<div id="shoppingcart">

<h1>Seu carrinho de Compras</h1>

<?php
echo writeShoppingCart();
?>

</div>

<div id="contents">

<h1>Verifique a quantidade...</h1>

<?php
echo showCart();
?>

<a href="index.php">Voltar para a loja...</a>  </p>
<form action="carrinho.php" method="post">
 <label> <br />
 Nome
 <input type="text" name="textfield" />
 <br />
 Endereço
 <input type="text" name="textfield2" />
 <br />
 Cidade
 <input type="text" name="textfield3" />
 <br />
 Email
 <input type="text" name="textfield4" />
 <br />
 <input name="so" type="submit" id="so" value="Enviar" />
 </label>

</form>

</div>

</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

 

 

 

<?php require_once('Connections/dsdf.php'); ?>
<?php
//NeXTenesio Special List Recordset
$colname_Recordset1 = "-1";
if (isset($_GET['id_produto'])) {
 $colname_Recordset1 = $_GET['id_produto'];
}
mysql_select_db($database_dsdf, $dsdf);

$query_Recordset1 = sprintf("SELECT * FROM produto WHERE id_produto = %s", $colname_Recordset1);
$Recordset1 = mysql_query($query_Recordset1, $dsdf) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
//End NeXTenesio Special List Recordset
?>
<?php
require_once('Connections/dsdf.php');
// Include functions
require_once('inc/functions.inc.php');
// Start the session
session_start();
// Process actions
$cart = $_SESSION['cart'];
$action = $_GET['action'];
switch ($action) {
case 'add':
	if ($cart) {
		$cart .= ','.$_GET['id'];
	} else {
		$cart = $_GET['id'];
	}
	break;
case 'delete':
	if ($cart) {
		$items = explode(',',$cart);
		$newcart = '';
		foreach ($items as $item) {
			if ($_GET['id'] != $item) {
				if ($newcart != '') {
					$newcart .= ','.$item;
				} else {
					$newcart = $item;
				}
			}
		}
		$cart = $newcart;
	}
	break;
case 'update':
if ($cart) {
	$newcart = '';
	foreach ($_POST as $key=>$value) {
		if (stristr($key,'qty')) {
			$id = str_replace('qty','',$key);
			$items = ($newcart != '') ? explode(',',$newcart) : explode(',',$cart);
			$newcart = '';
			foreach ($items as $item) {
				if ($id != $item) {
					if ($newcart != '') {
						$newcart .= ','.$item;
					} else {
						$newcart = $item;
					}
				}
			}
			for ($i=1;$i<=$value;$i++) {
				if ($newcart != '') {
					$newcart .= ','.$id;
				} else {
					$newcart = $id;
				}
			}
		}
	}
}
$cart = $newcart;
break;
}
$_SESSION['cart'] = $cart;
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>funcionaaa!! </title>
<link rel="stylesheet" href="css/styles.css" />
</head>

<body>
<center>
</center>
<div id="shoppingcart">

<h1>Seu carrinho de Compras</h1>

<?php
echo writeShoppingCart();
?>

</div>

<div id="contents">

<h1>Verifique a quantidade...</h1>

<?php
echo showCart();
?>

<a href="index.php">Voltar para a loja...</a>  </p>
<form action="carrinho.php" method="post">
 <label> <br />
 Nome
 <input type="text" name="textfield" />
 <br />
 Endereço
 <input type="text" name="textfield2" />
 <br />
 Cidade
 <input type="text" name="textfield3" />
 <br />
 Email
 <input type="text" name="textfield4" />
 <br />
 <input name="so" type="submit" id="so" value="Enviar" />
 </label>

</form>

</div>

</body>
</html>
<?php
mysql_free_result($Recordset1);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

as informações o do formulario?

 

pega elas pelo $_POST..

 

enviar pro seu e-mail?

 

usa o PHPmailer.. e bem facim =P

Compartilhar este post


Link para o post
Compartilhar em outros sites

as informações o do formulario?

 

pega elas pelo $_POST..

 

enviar pro seu e-mail?

 

usa o PHPmailer.. e bem facim =P

 

 

Isto!

como faço pra envia-las para um outra pagina com os produtos aprecendo lah e depois de clickar no finalizar enviar pro meu email com os dados armazenados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salva todos os dados que o usuário colocou no carrinho no banco, depois é só mandar puxar para sua página o id referente que fará a ligação de que tais produtos são de tal comprador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode armazena em uma SESSION. ou no banco de dados ^^

 

depois recupera na sua pagina de envio de e-mails.

 

// SESSION receberia dados do POST na pagina do cliente (carrinho de compra)...


email.php
//essa seria sua pagina com o script d envio de E-mail.
//recuperaria os SESSIONS e enviaria pro seu email.. tem outras formas de //se faze tmb.

session_start()
$_SESSION['compras']['id_produto'];
$_SESSION['compras']['nome_poduto'];

var_dump($_SESSION['compras']);

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode armazena em uma SESSION. ou no banco de dados ^^

 

depois recupera na sua pagina de envio de e-mails.

 

// SESSION receberia dados do POST na pagina do cliente (carrinho de compra)...


email.php
//essa seria sua pagina com o script d envio de E-mail.
//recuperaria os SESSIONS e enviaria pro seu email.. tem outras formas de //se faze tmb.

session_start()
$_SESSION['compras']['id_produto'];
$_SESSION['compras']['nome_poduto'];

var_dump($_SESSION['compras']);

 

valew pela ajuda estou a um passo de conseguir, Pensando no que voce disse acima fiz isso aqui>>

 

<?php 
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /> 
</head>
<body>
<?php
$nome = $_POST['Nome'];
$email = $_POST['Email'];
$CPF = $_POST['CPF'];
$RG = $_POST['RG'];
$Endereco = nl2br($_POST['Endereco']);
$Numero = $_POST['Numero'];
$Cidade = $_POST['Cidade'];
$Estado = $_POST['Estado'];
$CEP = $_POST['CEP'];
$Telefone = $_POST['Telefone'];
$qty = $_POST['qty'];
$id = $_POST['id'];
$prod = $_POST['prod'];
$data = $_POST['data'];
$hora = $_POST['hora'];
$ip = $_POST['ip'];
$nav = $_POST['nav'];
$mens = $_POST['mensagem'];


$mens .= "<table bordercolor=#F5F5F5 cellpadding=2 cellspacing=0 border=1 width=500><tr>";
$mens .= "<td  colspan=100>";
$mens .= "<font size=3 color=red face=Verdana><center><b>Pedidos Carrinho de Compras</b></center></font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana>Nome:</font> <font size=3  face=Verdana>$nome</font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana>CPF:</font> <font size=3  face=Verdana>$CPF</font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana>RG:</font> <font size=3  face=Verdana>$RG</font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana>Endereço:</font> <font size=3  face=Verdana>$Endereco</font>";
$mens .= "</td></tr><tr><td colspan=100>";


$mens .= "<font size=3 color=black face=Verdana>Cidade:</font> <font size=3  face=Verdana>$Cidade</font>";
$mens .= "</td></tr><tr><td  colspan=100>";

$mens .= "<font size=3 color=black face=Verdana>Estado:</font> <font size=3  face=Verdana>$Estado</font>";
$mens .= "</td></tr><tr><td colspan=100>";


$mens .= "<font size=3 color=black face=Verdana>Telefone:</font> <font size=3  face=Verdana>$Telefone</font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana>Email:</font> <font size=3  face=Verdana>$email</font>";

$mens .= "</td></tr><tr><td colspan=50>";
$mens .= "<font size=3 color=red face=Verdana>Produto:</font><br>";
$mens .= "</td><td colspan=50>";

$mens .= "<font size=3 color=red face=Verdana>Quantidade:</font>";
$mens .= "</td></tr><tr><td colspan=50>";

$mens .= "<font size=3 color=black face=Verdana>$prod</font><br>";
$mens .= "<td colspan=50>";
$mens .= "<font size=3 color=black face=Verdana>$qty/font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=red face=Verdana><center><b>Informações do Usuário</center></b></font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana><b>Data:</b></font> 
<font size=3  face=Verdana>$data</font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana><b></strong>Hora:</b></b></font> 
<font size=3  face=Verdana>$hora</font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana><b>Protocolo de Internet(IP):</b></font> 
<font size=3  face=Verdana>$ip</font>";
$mens .= "</td></tr><tr><td colspan=100>";

$mens .= "<font size=3 color=black face=Verdana><b>Navegador Utilizado:</b></font> 
<font size=3  face=Verdana>$nav</font>";

$mens .= "</tr></table>";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: 'Pedido de Compras'\r\n";


// Agora iremos fazer com que o PHP envie os dados do Formulário para seu e-mail:
mail("", "Pfsdfsds",$mens,"$headers,From: $REMOTE_ADDR");
echo "<center ><h2>fsdfsdfsdf!</ h2> <br> EDSFSDFSDFSFSDFSDFSDFS.</ center>";
?>     
</body>
</html>

 

Mas ao enviar pro email ele so pega um %prod e se da foreach ele fica com loop no mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mas ao enviar pro email ele so pega um %prod e se da foreach ele fica com loop no mesmo!

 

Esses dados vem da onde ? dados do produto ? post apenas retorna, se tu não mandar vir por array, um unico registro por chave, por isso que usar foreach não é necessário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esses dados vem da onde ? dados do produto ? post apenas retorna, se tu não mandar vir por array, um unico registro por chave, por isso que usar foreach não é necessário.

 

bom eu mando o id(nome) em um input com o name="prod" e e qty(quantidade) em outro com name="qty" mas ao chegar no meu email ele so vem com o ultimo registro do produto adicionado, ha algum jeito de dar um loop para aparecer todos os produto que adicionei ao carrinho, quando recebo o email, pois na pagina carrinho.php aparece todos os produtos, apenas ao receber o email que aparece a ultima quantidade e o ultimo produto adicionado!

Valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ta pegando do post e enviando direto

 

 

tenta assim pr av eoque da .. sei se assim da rock não =X

 

ve que bicho da isso

//form.php
<input name="data[nome]" />
<input name="data[produto]" />

//envia.php
if(isset($_POST['data']))
  foreach($_POST['data'] as $values){

    $mens = '';
    $mens .='<table>'.$values['produtos'].'</table>'
   }

    mail("", "Pfsdfsds",$mens,"$headers,From: $REMOTE_ADDR");

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ta pegando do post e enviando direto

 

 

tenta assim pr av eoque da .. sei se assim da rock não =X

 

ve que bicho da isso

//form.php
<input name="data[nome]" />
<input name="data[produto]" />

//envia.php
if(isset($_POST['data']))
  foreach($_POST['data'] as $values){

    $mens = '';
    $mens .='<table>'.$values['produtos'].'</table>'
   }

    mail("", "Pfsdfsds",$mens,"$headers,From: $REMOTE_ADDR");

 

 

isso estou enviando direto. Mas sempre chega assim

 

Produto:A

Quantidade: 4

ja tentei de tudo e somente chego o ultimo produto adicionado ao carrinho

e pelo meto GET da pra ver na url que ele manda todos os produtos:

 

http://..php?Nome=&Endereco=&Numero=&Cidade=&Estado=&Telefone=&RG=&CPF=&Email=&data%5Bnome%5D=ADL000400&data%5Bproduto%5D=1&data%5Bnome%5D=ARL000500&data%5Bproduto%5D=3&data%5Bnome%5D=ADL000200&data%5Bproduto%5D=8&submit=Enviar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Topico Resolvido!

Conseguii FInalmente! Valew galera por ajudar aeee!

Topíco do milagre, kkkkk!

 

 

<input type="text" name="prod[]" value="'.$id.'" readonly="readonly"/>';
<input type="text" name="qty[]" value="'.$qty.'" size="3" maxlength="3" readonly="readonly"/>



Envia.php
$qty = $_POST['qty'];
$prod = $_POST['prod'];

for ($i=0;$i<count($prod);$i++)
{
$mens .= "<font size=3 color=black face=Verdana >$prod[$i]</font><br>";
}
$mens .= "<td colspan=50 align=left valign=top>";
for ($i=0;$i<count($qty);$i++)
{
$mens .= "<font size=3 color=black face=Verdana >$qty[$i]<br></font>";
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.