Ir para conteúdo
Fórum Script Brasil
  • 0

Comprar


Guilherme014

Pergunta

Eu sei que já peruguntei em outro tópico, mas volto novamente, o meu código é esse, alguém sabe me dizer o que esta errado ?

por favor

acho que é neste código que está a errado ...

<?
if(isset($acao) and ($acao == "produto")){
$produtoid = $produto;
$resultado = mysql_query("SELECT * FROM produtos WHERE produtoid=$produtoid");
if(!$resultado){
die("Impossível visualizar est e produto: " . mysql_error() . '<br>');
}
//Realiza um loop atrás das informações inseridas na tabela
supernews
while($row = mysql_fetch_array($resultado)){
$diretorio = $row['diretorio'];
$largura = $row['largura'];
$altura = $row['altura'];
$nomeproduto = $row['nomeproduto'];
$conteudo = $row['conteudo'];
$diacompra = $row['diacompra'];
$mescompra = $row['mescompra'];
$anocompra = $row['anocompra'];
$precovenda = $row['precovenda'];
$prazoentrega = $row['prazoentrega'];
$estoque = $row['estoque'];
$desconto = $row['desconto'];
$valornovo = $row['valornovo'];
$data = $row['data'];
?>
Quanitdade a comprar: 
  <input name="quantidadeproduto" type="text" class="nav" id="quantidadeproduto" size="10" maxlength="11">
  <input name="enviar" type="submit" class="nav" id="enviar" value="COMPRAR">
<?
if ($HTTP_GET_VARS['acao'] == "comprar") {
	$sql = "insert into vendas values ('','$usuarioid','$produtoid','$quantidadedeproduto','$precovenda',
'$valornovo','$valortotalproduto','$valortotalcompra',now()));";
	mysql_query($sql) or die (mysql_error());
}
/*$acao = $_GET["acao"];
if($acao == "comprar"){ //script para comprar produtos
$produtoid = $comprar;
$resultado = "insert into vendas values('', '$usuarioid', '$quantidadeproduto', '$precovenda', '$valornovo',
'$valortotalproduto', '$produtoid', '$valortotalcompra',now());";
if(!$resultado){
die("Impossível comprar este produto: " . mysql_error() . '<br>');
}*/
?>
<?
	}
?>
<?
	if(isset($comprar)){ //script responsavel pela compra de
produtos
       if(isset($quantidadeproduto) and ($quantidadeproduto != "")){
      $resultado1 = mysql_query("
  	SELECT ve.usuarioid, ve.quantidadeproduto, ve.produtoid, po.produtoid, po.precovenda, po.valornovo, usu.usuarioid 
  	FROM vendas, produtos, usuarios
  	INNER JOIN vendas as ve ON ve.usuarioid=usu.usuarioid
  	INNER JOIN vendas as ve ON ve.produtoid=po.produtoid  	
  	WHERE produtoid and usuarioid");
            if(!$resultado1){
            	print("<br><br><center><pre><b>Error !!! Não foi
possível fazer a compra deste produto !!!</b></pre><br>
<a class='titulo' href='javascript:history.go(-1)'>&laquo; &laquo; Voltar</a></center>" . mysql_error());
            } //else {
?>

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

Cara é difícil achar um erro se você não dizer em que linha está dando, mais o que vi que faltou foi você fechar o colchetes.

<?

if($acao == "produto"){ // você só abriu

$produtoid = $produto;

$resultado = mysql_query("SELECT * FROM produtos WHERE produtoid=$produtoid");

if(!$resultado){

die("Impossível visualizar est e produto: " . mysql_error() . '<br>');

}

//Realiza um loop atrás das informações inseridas na tabela supernews

while($row = mysql_fetch_array($resultado)){ // você só abriu

$diretorio = $row['diretorio'];

$largura = $row['largura'];

$altura = $row['altura'];

$nomeproduto = $row['nomeproduto'];

$conteudo = $row['conteudo'];

$diacompra = $row['diacompra'];

$mescompra = $row['mescompra'];

$anocompra = $row['anocompra'];

$precovenda = $row['precovenda'];

$prazoentrega = $row['prazoentrega'];

$estoque = $row['estoque'];

$desconto = $row['desconto'];

$valornovo = $row['valornovo'];

$data = $row['data'];

}}

?>

Link para o comentário
Compartilhar em outros sites

  • 0
Cara é difícil achar um erro se você não dizer em que linha está dando, mais o que vi que faltou foi você fechar o colchetes.

<?

if($acao == "produto"){ // você só abriu

$produtoid = $produto;

$resultado = mysql_query("SELECT * FROM produtos WHERE produtoid=$produtoid");

if(!$resultado){

die("Impossível visualizar est e produto: " . mysql_error() . '<br>');

}

//Realiza um loop atrás das informações inseridas na tabela supernews

while($row = mysql_fetch_array($resultado)){ // você só abriu

$diretorio = $row['diretorio'];

$largura = $row['largura'];

$altura = $row['altura'];

$nomeproduto = $row['nomeproduto'];

$conteudo = $row['conteudo'];

$diacompra = $row['diacompra'];

$mescompra = $row['mescompra'];

$anocompra = $row['anocompra'];

$precovenda = $row['precovenda'];

$prazoentrega = $row['prazoentrega'];

$estoque = $row['estoque'];

$desconto = $row['desconto'];

$valornovo = $row['valornovo'];

$data = $row['data'];

}}

?>

o problema é esse, quando clicon no botão comprar, ele volta para a página que esta, sem gravar nada no banco de dados, entendeu.....

Link para o comentário
Compartilhar em outros sites

  • 0

fechei as que você falou, apesar de já estarem fechadas, pois estavam mais embaixo.

o problema é que não dá nenhuma resposta de erro....

em baixo dá a seguinte mensagem ao lado do botão iniciar:

http://127.0.0.1/teste_loja/comprar_menu.php?acao=comprar.php?produtoid=47385

entendeu

Link para o comentário
Compartilhar em outros sites

  • 0

Ei cara!... acho q essa sintaxe que vou colocar abaixo esta errada!!!

não sei tb!

olha só

$resultado = "insert into vendas values('', '$usuarioid', '$quantidadeproduto', '$precovenda', '$valornovo',

'$valortotalproduto', '$produtoid', '$valortotalcompra',now());";

Você precisa colocar os campos q vão receber as values

tpw:

$resultado = "insert into vendas (CAMPO1, CAMPO2, CAMPO3, ...) values('', '$usuarioid', '$quantidadeproduto', '$precovenda', '$valornovo',

'$valortotalproduto', '$produtoid', '$valortotalcompra',now());";

vlw!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, vamos lá....

para concatenar strings e variáveis utilizamos o ponto...

e quando utilizamos aspas simples, estamos fazendo com q a palavra entre eles seja absoluta e não uma variavel.

agora tente trocar essa linha

$sql = "insert into vendas values ('','$usuarioid','$produtoid','$quantidadedeproduto','$precovenda',
'$valornovo','$valortotalproduto','$valortotalcompra',now()));";
por essa:
$sql = "insert into vendas values ('','".$usuarioid."','".$produtoid."','".$quantidadedeproduto."','".$precovenda."',
'".$valornovo."','".$valortotalproduto."','".$valortotalcompra."',now() )";

tenta aí e depois posta.....

Até +

cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Bom, vamos lá....

para concatenar strings e variáveis utilizamos o ponto...

e quando utilizamos aspas simples, estamos fazendo com q a palavra entre eles seja absoluta e não uma variavel.

agora tente trocar essa linha

$sql = "insert into vendas values ('','$usuarioid','$produtoid','$quantidadedeproduto','$precovenda',
'$valornovo','$valortotalproduto','$valortotalcompra',now()));";
por essa:
$sql = "insert into vendas values ('','".$usuarioid."','".$produtoid."','".$quantidadedeproduto."','".$precovenda."',
'".$valornovo."','".$valortotalproduto."','".$valortotalcompra."',now() )";

tenta aí e depois posta.....

Até +

cool.gif

coloquei do jeito que você pediu e não deu certo.....

Link para o comentário
Compartilhar em outros sites

  • 0
Você precisa colocar os campos q vão receber as values

tpw:

$resultado = "insert into vendas (CAMPO1, CAMPO2, CAMPO3, ...) values('', '$usuarioid', '$quantidadeproduto', '$precovenda', '$valornovo',

'$valortotalproduto', '$produtoid', '$valortotalcompra',now());";

não, eu não posso por deste jeito, porque destes campos eu só digito a quantidade, o resto ele faz para mim, entendeu

Link para o comentário
Compartilhar em outros sites

  • 0

cara.. mesmo que não o mysql cololque pra você os campos automaticamente pra vc.. você tem que por os campos onde vão entrar os valores que você tá passando... senaum não vai inserir nada mesmo.... faça assim.. manda imprimir algo na tela depois do insert... ou entaum valida assim

$insert = mysql_query("insert ...") or die(mysql_error());
if (!$insert)
    {
          echo "deu erro em algum lugar!!!";
     }
else
     {
          echo "passou!!!";
      }

tente ai e depois me diga o que aconteceu...

Link para o comentário
Compartilhar em outros sites

  • 0
cara.. mesmo que não o mysql cololque pra você os campos automaticamente pra vc.. você tem que por os campos onde vão entrar os valores que você tá passando... senaum não vai inserir nada mesmo.... faça assim.. manda imprimir algo na tela depois do insert... ou entaum valida assim

$insert = mysql_query("insert ...") or die(mysql_error());
if (!$insert)
    {
          echo "deu erro em algum lugar!!!";
     }
else
     {
          echo "passou!!!";
      }

tente ai e depois me diga o que aconteceu...

Continua na mesma

Link para o comentário
Compartilhar em outros sites

  • 0

é um pouco grande, mas estou passando o código da página

<?
$usuarioid = $_GET["usuarioid"];

$usuarioid = unserialize($usuarioid);

print_r($usuarioid);

?>
session_start();
require("funcoes/conexao.inc.php"); //alterar de acordo com seu diretorio
?>
<html>
<head>
<title>comprar_menu</title>
<link href="funcoes/loja.css" rel="stylesheet" type="text/css">
</head>
<body>
<a name="top"></a>
<table align="left" border="1" bordercolor="#99CCFF" bgcolor="#DCDCDC" cellpadding="0" cellspacing="0" width="*">
<tr>
  <td>&nbsp;</td>
  <td>Nome do Produto</td>
  <td>preço de Venda</td>
  </tr>	
<?
require("funcoes/funcao.php");
conexao_mysql($host,$user,$pass,$db_super_news);//funcao para conexao com o MYSQL
?>
<?
//Faz a consulta no banco de dados
$resultado = mysql_query('SELECT * FROM produtos where ativar=1 and promocao=0 and estoque>20 and precovenda>0');
if(!$resultado){
die("Erro ao fazer a consulta no banco de dados: " . mysql_error() . '<br>');
}

//Verifica se há alguma noticia amazenada no banco de dados
if(mysql_num_rows($resultado) == 0){
print("<tr><td align=\"center\"><font color=\"#FF0000\" size=\"1\">Aten&ccedil;&atilde;o! N&atilde;o h&aacute; produtos no banco de dados <b>" . $db_super_news . '</b></font><br></td></tr>');
} else {
//Este loop mostra todas as notícias inseridas no banco de dados
while($row = mysql_fetch_array($resultado)){
$produtoid = $row['produtoid'];
$nomeproduto = $row['nomeproduto'];
$precovenda = $row['precovenda'];
?>
  <tr>
  <td><a class="titulo" href="?acao=produto&produto=<? print($produtoid); ?>&nome_produto=<? print($nomeproduto); ?>"><? print(htmlentities($produtoid)); ?></a>&nbsp;&nbsp;</td>
  <td><? print(htmlentities($nomeproduto)); ?>&nbsp;&nbsp;</td>
  <td>R$ <? print(htmlentities($precovenda)); ?>&nbsp;&nbsp;</td>
  </tr>
<?
	}
	}
?>
<tr>
	<td class="navLink"><a class="noticia" href="#top" target="_self">Topo</a></td>
	<td class="navLink">Produtos:<b><? print(mysql_num_rows($resultado)); ?></b></td>	
	<td>&nbsp;</td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>Nome do Produto</td>
  <td>preço de Venda</td>
  </tr>
<?
//Faz a consulta no banco de dados
$resultado = mysql_query('SELECT * FROM produtos where ativar=1 and promocao=1 and estoque>20 and precovenda>0');
if(!$resultado){
die("Erro ao fazer a consulta no banco de dados: " . mysql_error() . '<br>');
}

//Verifica se há alguma noticia amazenada no banco de dados
if(mysql_num_rows($resultado) == 0){
print("<tr><td align=\"center\"><font color=\"#FF0000\" size=\"1\">Aten&ccedil;&atilde;o! N&atilde;o h&aacute; produtos em promoção no banco de dados <b>" . $db_super_news . '</b></font><br></td></tr>');
} else {
//Este loop mostra todas as notícias inseridas no banco de dados
while($row = mysql_fetch_array($resultado)){
$produtoid = $row['produtoid'];
$nomeproduto = $row['nomeproduto'];
$valornovo = $row['valornovo'];
?>
  <tr>
  <td><a href="?acao=produto&produto=<? print($produtoid); ?>&nome_produto=<? print($nomeproduto); ?>"><? print(htmlentities($produtoid)); ?></a>&nbsp;&nbsp;</td>
  <td><? print(htmlentities($nomeproduto)); ?>&nbsp;&nbsp;</td>
  <td>R$ <? print(htmlentities($valornovo)); ?>&nbsp;&nbsp;</td>
  </tr>
<?
	}
	}
?>
<tr>
	<td class="navLink"><a class="noticia" href="#top" target="_self">Topo</a></td>
	<td class="navLink">Produtos em promoção:<b><? print(mysql_num_rows($resultado)); ?></b></td>	
	<td>&nbsp;</td>
</tr>
</table>
<?
if(isset($acao) and ($acao == "produto")){
$produtoid = $produto;
$resultado = mysql_query("SELECT * FROM produtos WHERE produtoid=$produtoid");
if(!$resultado){
die("Impossível visualizar est e produto: " . mysql_error() . '<br>');
}

//Realiza um loop atrás das informações inseridas na tabela supernews
while($row = mysql_fetch_array($resultado)){
$diretorio = $row['diretorio'];
$largura = $row['largura'];
$altura = $row['altura'];
$nomeproduto = $row['nomeproduto'];
$conteudo = $row['conteudo'];
$diacompra = $row['diacompra'];
$mescompra = $row['mescompra'];
$anocompra = $row['anocompra'];
$precovenda = $row['precovenda'];
$prazoentrega = $row['prazoentrega'];
$estoque = $row['estoque'];
$desconto = $row['desconto'];
$valornovo = $row['valornovo'];
$data = $row['data'];
?>
<form action="<?=$_GET['PHP_SELF'] ?>?acao=comprar.php?produtoid=<?=$produtoid?>" method="post" name="comprar">
<table align="left" border="1" bordercolor="#99CCFF" bgcolor="#DCDCDC" cellpadding="0" cellspacing="0" width="*">
  <tr>
    <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b><? print(htmlentities($nomeproduto)); ?></b></font><br>
      <hr color="#CCCCCC"> </td>
  </tr>
  <tr>
    <td><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b><? print(formatData($data)); ?></b></font><br>
      <hr color="#CCCCCC">
	</td>
  </tr>
  <tr>
    <td>
   <? if($diretorio == ""){ //se o diretorio for igual a vazia isso significa que é uma noticia sem imagem e mostra so a noticia
      ?>
      <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2">
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Descrição: <? print(nl2br(htmlentities($conteudo))); ?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Data da Compra: <? print(nl2br(htmlentities($diacompra))); ?></b></font>/
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b><? print(nl2br(htmlentities($mescompra)));?></b></font>/
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b><? print(nl2br(htmlentities($anocompra)));?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Preço Venda: R$ <? print(nl2br(htmlentities($precovenda)));?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Prazo de entrega: <? print(nl2br(htmlentities($prazoentrega)));?> dias</b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Estoque: <? print(nl2br(htmlentities($estoque)));?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Desconto: R$ <? print(nl2br(htmlentities($desconto)));?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Valor em Promoção: R$ <? print(nl2br(htmlentities($valornovo))); ?></b></font></font></p>
      <? } else { //caso contrario mostra a noticia com a imagem
      ?>
      <img src="<?= $diretorio; ?>" width="<?= $largura; ?>" height="<?= $altura; ?>" align="left" border="1">
         <p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2">
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Descrição: <? print(nl2br(htmlentities($conteudo))); ?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Data da Compra: <? print(nl2br(htmlentities($diacompra))); ?></b></font>/
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b><? print(nl2br(htmlentities($mescompra)));?></b></font>/
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b><? print(nl2br(htmlentities($anocompra)));?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Preço Venda: R$ <? print(nl2br(htmlentities($precovenda)));?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Prazo de entrega: <? print(nl2br(htmlentities($prazoentrega)));?> dias</b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Estoque: <? print(nl2br(htmlentities($estoque)));?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Desconto: R$ <? print(nl2br(htmlentities($desconto)));?></b></font><br>
   <font face="Verdana, Arial, Helvetica, sans-serif" color="#0000000" size="2"><b>Valor em Promoção: R$ <? print(nl2br(htmlentities($valornovo))); ?></b></font></font></p>
      <? } ?>   <div align="center">
Quanitdade a comprar: 
  <input name="quantidadeproduto" type="text" class="nav" id="quantidadeproduto" size="10" maxlength="11">
  <input name="comprar" type="submit" class="nav" id="comprar" value="COMPRAR">
</div>
</td>
  </tr>
  <tr>
    <td><hr color="#CCCCCC"></td>
  </tr>
  <tr>
    <td><div align="center"><a class="links" href="javascript:self.print()" onMouseOver="window.status='Imprimir'; return true">Imprimir</a></div></td>
  </tr>
  <tr>
    <td><hr color="#CCCCCC"></td>
  </tr>
</table>
  <?
  	}
	}
  ?>
</form>
<?
//$sql = "
if(isset($_GET["acao"]) and ($_GET["acao"] == "comprar")){ //comprar produtos
$produtoid = $comprar;
$resultado = "insert into vendas values ('','".$usuarioid."','".$produtoid."','".$quantidadedeproduto."','".$precovenda."',
'".$valornovo."','".$valortotalproduto."','".$valortotalcompra."',now() )";
if (!$insert)
   {
         echo "deu erro em algum lugar!!!";
    }
else
    {
         echo "passou!!!";
     }

?>
</body>
</html>
<?
	}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...