Ver Mensaje Individual
  #9 (permalink)  
Antiguo 19/03/2010, 12:36
galian78
 
Fecha de Ingreso: marzo-2010
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
PROBLEMON con Bonos de Afiliados en Tienda Virtual AYUDA

Hola,

Tengo el siguiente problema, tengo una Tienda virtual en la que el CARRITO se compone de dos partes "Una donde se selecciona le forma de pago, la forma de envio y tambien si el usuario es afiliado puede utilizar bonos de descuento".

El tema es, yo tengo un usuario que es AFILIADO y le doy 10 Bonos de descuento. Cuando el introduce dichos bonos en la casilla o si no introduce nada, al pasar a la pantalla de confirmación del carrito la db se actualiza y le deja los bonos en 0 (Da igual lo que haga le quita todos los bonos). Les dejo los dos códigos por si pueden ayudarme.



Codigo Carrito:
Código PHP:
<?
if ((!session_is_registered('id_usuario_session')) && (!session_is_registered('usuario_usuario_session') )){
echo 
"<center>";
include(
"include/login.inc.php");
echo 
"</center>";
}else{
$sql_afil "SELECT id_usuario,bonos FROM usuarios_afiliados WHERE id_usuario='$id_usuario_session' AND activo='1'";
$result_afil =mysql_query($sql_afil);
$es_afiliado=0;
$bonos=0;
$cantidad_afil =mysql_num_rows($result_afil);
if (
$cantidad_afil) {
$row_afiliado mysql_fetch_object($result_afil);
$bonos $row_afiliado->bonos;
$es_afiliado =1;
}
?>
Dentro del Carrito.php el Campo de los Bonos:
Código PHP:
<? if ($es_afiliado) {?>
<table width="400" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><span style="color:#fff;background:#3DA421;font-weight:bold;padding:2px"><? echo $bonos;?><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif">
<input name="bonos_a_usar" type="text" id="bonos_a_usar" size="10" />
</font></span></td>
</tr>
</table>
<? ?>
En Comprar.php (Paso final de la compra donde se almacenan los datos):
[PHP]<?
include("....");
include("....");

if ($_POST["notas"] != "")
$_SESSION["notas"] = $_POST["notas"];

//define('CAIXAGALICIA_PATH', 'sdicomercio'); // Pruebas
define('CAIXAGALICIA_PATH', 'lagaleria'); // Real
$sql_afil = "SELECT id_usuario,bonos FROM usuarios_afiliados WHERE id_usuario='$id_usuario_session' AND activo='1'";
$result_afil =mysql_query($sql_afil);
$es_afiliado=0;
$bonos=0;
$cantidad_afil =mysql_num_rows($result_afil);
if ($cantidad_afil) {
$bonos_a_usar = (isset($_POST['bonos_a_usar']))?$_POST['bonos_a_usar']:0;
$row_afiliado = mysql_fetch_object($result_afil);
$bonosafil = $row_afiliado->bonos;
$es_afiliado =1;
}
if ($bonos_a_usar>=$bonosafil ) {
$actualizar_bonos = 0;
$bonos_a_usar =$bonosafil;
} else {
$actualizar_bonos = $bonosafil - $bonos_a_usar;
}
if($pedido && $secuencia) {

//if($_SERVER['REMOTE_ADDR'] != "212.163.35.153") die("ERROR");

$result = mysql_query("SELECT * FROM usuarios_compras WHERE id=".intval($pedido));
$row = mysql_fetch_array($result);

$url = "http://".CAIXAGALICIA_PATH.".caixagalicia.es/tpv2/tpv_recoge.asp?comercio=TUCOMERCIO&pedido=$pedido& secuencia=".urlencode($secuencia)."&importe=".str_ replace(".", "", number_format($row["total"], 2, ".", ""))."&moneda=eur";

// $flog = fopen("_log.txt", "a");
// fwrite($flog, "[".date("Y-m-d H:i")."] - ".$_SERVER['PHP_SELF']."\n".$_SERVER['REMOTE_ADDR']." - ".$_SERVER['REMOTE_HOST']."\n".$url."\n\n");

$str = "";
ob_start();
if(@readfile($url)) {

$str = ob_get_contents();
// fwrite($flog, $str."\n\n");

if(ereg("\<ESTADO\>(.+)*\<\/ESTADO\>(.+)*\<ERROR\>(.+)*\<\/ERROR\>(.+)*\<CODOP\>(.+)*\<\/CODOP\>", $str, $tmp) && $tmp[1] == 1)
echo $str;
else
echo "<DATOS><ESTADO>2</ESTADO><ERROR>".$tmp[3]."</ERROR><CODOP></CODOP></DATOS>";

}

ob_end_clean();

// fclose($flog);

exit;
}

if ((!session_is_registered('id_usuario_session')) && (!session_is_registered('email_usuario_session'))) {
header("Location: login.php?viene=$PHP_SELF");
exit;
}

//Si enviaron el formulario lo verifico
if ($e == 1){
$bonos_usados = (isset($_POST['bonos_a_usar']))?$_POST['bonos_a_usar']:0;
$actualizar_bonos = (isset($_POST['actualizar_bonos']))?$_POST['actualizar_bonos']:0;
switch($t){
case "ce":
$datos["todo_ok"] = 1;
$mostrar = "Contrareembolso";
break;
case "db":
$metodo_pago = $t;
$mostrar = "Transferencia bancaria";
$datos["todo_ok"] = 1;
break;
case "pp":
$metodo_pago = "pp";
$mostrar = "Tarjeta de cr&eacute;dito/d&eacute;bito (Tu Banco)";
$datos["todo_ok"] = 1;
break;
case "py":
$metodo_pago = "py";
$mostrar = "PAYPAL";
$datos["todo_ok"] = 1;
break;
}


if ($datos["todo_ok"] == 1){


include("include/update.php");

$notas = $_SESSION["notas"];

//Guardo los datos de la transaccion en compras
$sql = "INSERT INTO usuarios_compras VALUES ('',
'$id_usuario_session',
'". strip_tags(str_replace("</P>","\n",str_replace("<br>","\n",$cabecera))).str i p_tags(str_replace("</P>","\n",str_replace("<br>","\n",$cuerpo))).$tele f onos.$total_final.strip_tags(str_replace("</P>","\n",str_replace("<br>","\n",$pie))) ."',
'$cuerpo_extra',
'".strtotime("now")."',
'".($total_final)."',
'0',
'".$gremio_usuario_session."',
'',
'$notas')";
$result = mysql_query($sql);
$id_transaccion = mysql_insert_id();

//Borro las transacciones
$sql = "DELETE FROM usuarios_transacciones WHERE id_usuario = '$id_usuario_session'";
$result = mysql_query($sql);


include("include/mail_admin.php");

if ($metodo_pago == "pp"){
include("include/tpv_".$tpv_seleccionado.".php");
}elseif ($metodo_pago == "py"){
include("include/paypal.php");
}else{
header("Location: comprar_f.php");
exit;
}
}
}

Última edición por GatorV; 19/03/2010 a las 15:57