Olá amigos, boa noite! Primeiramente, eu sou novo no fórum, e se esse não for o lugar certo de postar a minha dúvida (solicitação), podem mover... Bom vamos la.. Eu tenho um site de Compras Coletivas... Ao clicar em comprar, o cliente é direcionado a uma pagina que ele digita o nome de quem utilizará o cupom, e a quantidade de cupons que ele deseja comprar.. Ele clica em 'Prosseguir' e vai para uma pagina que tem o resumo da compra que ele esta fazendo... e tem o botão "Finalizar Pedido".. é aí o problema... Ao clicar nesse botão, qualquer navegador demora +/- 30 segundos para carregar a proxima pagina... ;/ Eu acho que nem todos os clientes teriam a paciencia de aguardar esse tempo sem clicar novamente em "Finalizar Pedido", o que faz gerar 2 pedidos... Eu gostaria de resolver esse problema da demora, ou ao menos que quando o cliente clicasse em "Finalizar Pedido", abrisse uma 'janela' tipo pop-up aviasando que o pedido esta sendo processado, e que esse 'pop-up' não o deixasse clicar novamente em "Finalizar Pedido"... Será que alguém pode me ajudar? De qualquer forma segue o arquivo da página onde tem o botão "Finalizar Pedido": <?php
session_start();
ob_start();
?>
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: private, no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
<?php require_once('Connections/compras.php'); ?>
<?
require_once "_AJAX/CARRINHO/Carrinho.php";
$carrinho = new Carrinho();
$data = date("Y-m-d",time());
if (!IsLoggedIn()) {
ob_end_clean();
header("Location: cadastre-se.php?pagina=Cadastro");
exit();
}
mysql_select_db($database_compras, $compras);
$query_ptgo = "SELECT * FROM pagseguro";
$ptgo = mysql_query($query_ptgo, $compras) or die(mysql_error());
$row_ptgo = mysql_fetch_assoc($ptgo);
?>
<!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" />
<? include("inc_metatag.php"); ?>
<style type="text/css">
<!--
@import url("_lib/css/estrutura_layout.css");
@import url("include/estilo.css");
@import url("_lib/css/carrinho.css");
-->
</style>
<script src="_lib/js/funcoes.js" type="text/javascript"></script>
<script src="_lib/js/_AJAX/AjaxClass.js" type="text/javascript"></script>
<script src="_lib/js/_AJAX/Carrinho.ajax.js" type="text/javascript"></script>
<script src="_lib/js/virtualpaginate.js" type="text/javascript"></script>
<script type="text/javascript">
var Carrinho = new Carrinho();
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
</script>
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
</head>
<body>
<div id="process_carrinho" style="display:none;"></div>
<div id="site">
<?php include("inc_topo_intermas.php"); ?>
<div id="conteudo">
<div id="mioloInternas">
<h2 class="titCategorias">Informações para pagamento</h2>
<? if(count($_SESSION['Carrinho']['Produto']) >= 1){ ?>
<div id="carrinho" style="margin-bottom:0px;">
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#D2CBB9">
<tr>
<td width="100" height="24" align="right" class="tituloprodutos">Qtd. </td>
<td height="24" class="tituloprodutos">Ofertas</td>
<td width="80" height="24" align="center" class="tituloprodutos">Preço Unit.</td>
<td width="80" height="24" align="center" class="tituloprodutos">SUB-Total</td>
</tr>
<?php
$i = 0;
foreach($_SESSION['Carrinho']['Produto'] AS $key => $valor){
$buscaProduto = mysql_query("SELECT nome FROM produtos WHERE id = ". $key);
$dadosProduto = mysql_fetch_object($buscaProduto);
if($i){ $linha = "tdtitle1"; $col = "td1"; $i = 0; }
else { $linha = "tdtitle2"; $col = "td2"; $i = 1; }
?>
<tr id="<? echo $key; ?>">
<td width="100" height="24" align="right" valign="top"><? echo $_SESSION['Carrinho']['Produto'][$key]['qtd']; ?></td>
<td height="24" valign="top" align="left"><strong style="font-size:12px;"><? echo ($dadosProduto->nome); ?></strong><bR />
<?
$t = 1;
$total = $_SESSION['Carrinho']['Produto'][$key]['qtd'];
while($t <= $total) { ?>
<div style="color:#666; margin-bottom:5px; display:block; float:left; clear:both;">Nome <? echo $t; ?>: <strong><? echo $_SESSION['Carrinho']['Produto'][$key]['nome'.$t]; ?></strong></div>
<? $t++; }; ?></td>
<td width="80" height="24" align="center" valign="top">R$ <? echo number_format($_SESSION['Carrinho']['Produto'][$key]['valor'], 2, ',', '.'); ?></td>
<td width="80" height="24" align="center" valign="top" id="totalProduto<? echo $key; ?>">R$ <? echo number_format($_SESSION['Carrinho']['Produto'][$key]['valor_total'], 2, ',', '.'); ?></td>
</tr>
<? } ?>
<? if ($_SESSION['Desconto'] > 0) {
$tt = $carrinho->getTotalApenasProduto($_SESSION['Carrinho']['Produto']);
if ($tt < $_SESSION['Desconto']) { $_SESSION['Desconto'] = $tt; }
?>
<tr>
<td height="24" colspan="3" align="right" class="tituloprodutos" style="background-color:#474445; font-size:14px; color:#F00;">Desconto de Créditos: </td>
<td height="24" align="center" class="tituloprodutos" style="background-color:#474445; font-size:14px; color:#F00;">R$ <? echo number_format($_SESSION['Desconto'], 2, ',', '.'); ?></td>
</tr>
<? } ?>
<tr>
<td height="24" colspan="3" align="right" class="tituloprodutos" style="background-color:#474445; font-size:14px;">Total A PAGAR: </td>
<td height="24" align="center" class="tituloprodutos" style="background-color:#474445; font-size:14px;">R$ <? echo number_format(($carrinho->getTotalApenasProduto($_SESSION['Carrinho']['Produto'])-$_SESSION['Desconto']), 2, ',', '.'); ?></td>
</tr>
</table>
</div>
<div id="carrinho" style="width:97%; background:transparent; margin:0px;">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" class="tituloprodutos" style="color:#000">FORMAS DE PAGAMENTO</td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"><img src="images/pagseguro.jpg" alt="" width="34" height="19" /></td>
<td align="left"><strong style="font-size:18PX; font-weight:normal;">PagSeguro</strong></td>
<td width="130"><form action="pagamento.php?pagto=PagSeguro" method="post">
<input type="image" name="imageField3" id="imageField3" src="images/finalizar.gif" style="width:190px; height:39px; border:0px; margin:0px; padding:0px;" />
</form></td>
</tr>
</table></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="clear:both;">
<tr>
<td align="left" style="background-color:transparent;"><a href="index.php"><img src="images/botao_voltar2.gif" /></a></td>
</tr>
</table>
</div>
<?php } else { ?>
<div id="mensagem">
<p align="center">Seu carrinho de compras está vazio</p>
<p align="center"><br />
<a href="index.php"><img src="images/bt_continuar.jpg" /></a></p>
</div>
<?php } ?>
</div>
</div>
</div>
<?php include("inc_rodape_interno.php"); ?>
<? if ($_GET['erro'] == 1) { ?>
<script>
alert('Seu cupom de desconto não foi encontrado ou já foi utilizado!');
</script>
<? } ?>
</body>
</html>
<?
mysql_free_result($configuracao);
mysql_close($compras);
?>
E essa é a pagina que o botão "Finalizar Pedido" demora para redirecionar:
<?php
session_start();
ob_start();
?>
<?
if(empty($_GET['pagto']) || !isset($_GET['pagto'])) header("Location:erro_pedido.php");
require_once('Connections/compras.php');
require_once "_AJAX/CARRINHO/Carrinho.php";
$query_configuracao = "SELECT * FROM configuracoes";
$configuracao = mysql_query($query_configuracao, $compras) or die(mysql_error());
$row_configuracao = mysql_fetch_assoc($configuracao);
$totalRows_configuracao = mysql_num_rows($configuracao);
mysql_select_db($database_compras, $compras);
function inserePedido($tipo, &$conn){
$carrinho = new Carrinho();
$total = ($carrinho->getTotalApenasProduto()) - $_SESSION['Desconto'];
$total_semdesconto = ($carrinho->getTotalApenasProduto());
$queryIn= "INSERT pedidos (data_pedido, id_cliente, situacao, total, total_semdesconto, pagto)
VALUES
('".date('Y-m-d')."',
".$_SESSION['Id'].",
'Novo',
".$total.",
".$total_semdesconto.",
'".$tipo."')";
if(!mysql_query($queryIn, $conn)) echo $queryIn;
$idPedido = mysql_insert_id();
foreach($_SESSION['Carrinho']['Produto'] as $key => $valor){
$t = 1;
$total = $_SESSION['Carrinho']['Produto'][$key]['qtd'];
$insertSQL = "UPDATE pedidos SET id_produto = ".$key.", qtd = ".$_SESSION['Carrinho']['Produto'][$key]['qtd'].", id_cidade = ".$_SESSION['site_id'].", id_empresa = ".$_SESSION['Carrinho']['Produto'][$key]['id_subcategoria']." WHERE id = ".$idPedido."";
$Result1 = mysql_query($insertSQL, $conn) or die(mysql_error());
while($t <= $total) {
$campo = "nome".$t;
$SQL = "UPDATE pedidos SET ".$campo." = '".$_SESSION['Carrinho']['Produto'][$key][$campo]."' WHERE id = ".$idPedido."";
$Result1 = mysql_query($SQL, $conn) or die(mysql_error());
$t++;
}
$insertSQL = "UPDATE produtos SET vendido = vendido + 1 WHERE id = ".$key."";
$Result1 = mysql_query($insertSQL, $conn) or die(mysql_error());
}
return $idPedido;
}
$idPedido = inserePedido($_GET['pagto'], $compras);
$query_cliente = "SELECT * FROM cliente WHERE id = ".$_SESSION['Id']." AND pagou_creditos = 'Não' AND id_indicador <> ''";
$cliente = mysql_query($query_cliente, $compras) or die(mysql_error());
$row_cliente = mysql_fetch_assoc($cliente);
$totalRows_cliente = mysql_num_rows($cliente);
if ($totalRows_cliente > 0) {
$insertSQL = "UPDATE cliente SET creditos = creditos + 10.00 WHERE id = ".$row_cliente['id_indicador']."";
$Result1 = mysql_query($insertSQL, $compras) or die(mysql_error());
$insertSQL = "UPDATE cliente SET pagou_creditos = 'Sim' WHERE id = ".$row_cliente['id']."";
$Result1 = mysql_query($insertSQL, $compras) or die(mysql_error());
}
if ($_SESSION['Desconto'] > 0) {
$insertSQL = "UPDATE cliente SET creditos = creditos - ".$_SESSION['Desconto']." WHERE id = ".$_SESSION['Id']."";
$Result1 = mysql_query($insertSQL, $compras) or die(mysql_error());
$query_cliente = "SELECT * FROM cliente WHERE id = ".$_SESSION['Id']."";
$cliente = mysql_query($query_cliente, $compras) or die(mysql_error());
$row_cliente = mysql_fetch_assoc($cliente);
$totalRows_cliente = mysql_num_rows($cliente);
$_SESSION['Desconto'] = $row_cliente['creditos'];
}
ob_end_clean();
header("Location:envio.php?p=".$_GET['pagto']."&id=".$idPedido);
exit();
?> Espero que alguém possa me ajudar... rsrs Desde já obrigado galera!