pero las sessiones no se guardan bien, por ejemplo, si se fijan en la case confproducto, cuando el if(empty($pn)) da falso el form no aparece, y creo que es porque las sesiones no estan grabadas.
Código PHP:
<?php
include 'config.php';
session_start();
$a = trim(htmlentities($_GET['a']));
$gid = trim(htmlentities($_GET['gid']));
if(empty($gid))
{
$gid = 1;
}
?>
<html>
<head>
<!--deje solo las etiquetas html necesarias porque no entraba el msj-->
<title><?php echo $titulo; ?> - Carro de Pedidos</title>
<script type="text/javascript">
<!--
function tipodominio1()
{
document.getElementById('div2').style.display = 'none';
document.getElementById('div1').style.display = 'inherit';
}
function tipodominio2()
{
document.getElementById('div2').style.display = 'inherit';
document.getElementById('div1').style.display = 'none';
}
-->
</script>
</head>
<body>
<?php
switch($a)
{
default:
?>
<ul>
<?php
$qry = mysql_query("SELECT * FROM grupos ORDER BY id");
while($grupo = mysql_fetch_array($qry))
{
?>
<li><a href="carrito.php?gid=<?php echo $grupo['id']; ?>"><?php echo $grupo['nombre']; ?></a></li>
<?php
}
?>
</ul>
<table width="800" border="0">
<?php
$qry = mysql_query("SELECT * FROM productos WHERE gid='$gid' ORDER BY orden");
while($producto = mysql_fetch_array($qry))
{
?>
<tr>
<td><?php echo $producto['nombre']; ?><br />
<?php echo $producto['comentarios']; ?></td>
<td>
<?php
if($producto['preciomensual'] != "0.00")
{
$preciomensual = $producto['preciomensual'];
echo "$preciomensual $moneda mensual<br>";
}
if($producto['preciotrimestral'] != "0.00")
{
$preciotrimestral = $producto['preciotrimestral'];
echo "$preciotrimestral $moneda trimestral<br>";
}
if($producto['preciosemestral'] != "0.00")
{
$preciosemestral = $producto['preciosemestral'];
echo "$preciosemestral $moneda semestral<br>";
}
if($producto['precioanual'] != "0.00")
{
$precioanual = $producto['precioanual'];
echo "$precioanual $moneda anual<br>";
}
?>
</td>
<td><a href="carrito.php?a=agregar&pid=<?php echo $producto['id'];?>">Pedir Ahora</a></td>
</tr>
<?php
}
?>
</table>
<?php
break;
case "agregar":
$pid = trim(htmlentities($_GET['pid']));
?>
<form action="carrito.php?a=confproducto" method="post">
<p>El Producto/Servicio que has elegido requiere de un nombre de dominio. Elija la opción que desee de las siguientes e introduzca un nombre de dominio.</p>
<p><input type="radio" name="opcion" value="tipodominio1" onClick="(this.checked) ? tipodominio1() : tipodominio2();" >
Registrar dominio</p>
<p><input type="radio" name="opcion" value="tipodominio2" onClick="(this.checked) ? tipodominio2() : tipodominio1();" >Usar dominio existente</p>
<div id="div1" style="display:none">
<p>www.<input type="text" name="nomdominio" size="30" >
<select name="extdominio">
<?php
$qry = mysql_query("SELECT * FROM dominios ORDER BY id");
while($extensiondominio = mysql_fetch_array($qry))
{
?>
<option value="<?php echo $extensiondominio['extension']; ?>"><?php echo $extensiondominio['extension']; ?></option>
<?php
}
?>
</select></p><p>Tenga en cuenta que los dominios .com.ar solo admiten hasta 19 carácteres.</p></div>
<div id="div2" style="display:none">
<p>www.<input type="text" name="nomdominioex" size="30">.<input type="text" name="extdominioex" size="8" ></p>
</div>
<input type="hidden" name="pid" value="<?php echo $pid; ?>" />
<input type="submit" name="Enviar" value="Hacer Clic para Continuar > >" />
</form>
<?php
break;
case "confproducto":
if($_SESSION['productocomprado'] != true)
{
$_SESSION['productoscomprados'] = 0;
}
$pid = trim(htmlentities($_POST['pid']));
$pn = trim(htmlentities($_GET['pn']));
if(empty($pn))
{
?>
<h2>Configuración de Productos</h2>
<p>El Producto/Servicio que ha elegido tiene las opciones de configuracion siguientes. Modifique las que le interesen.</p>
<h3>Producto/Servicio</h3>
<?php
$qry = mysql_query("SELECT * FROM productos WHERE id='$pid'");
if($producto = mysql_fetch_array($qry))
{
$gid = $producto['gid'];
$qry = mysql_query("SELECT * FROM grupos WHERE id='$gid'");
if($grupo = mysql_fetch_array($qry))
{
?>
<p><?php echo $grupo['nombre']; ?> - <?php echo $producto['nombre']; ?><br />
<?php echo $producto['comentarios']; ?></p>
<h3>Ciclo de Facturación</h3>
<form action="carrito.php?a=actualizar" method="post">
<select name="ciclodefacturacion">
<?php
if($producto['preciomensual'] != "0.00")
{
$preciomensual = $producto['preciomensual'];
echo "<option value=\"mensual\">$preciomensual $moneda mensual</option>";
}
if($producto['preciotrimestral'] != 0.00)
{
$preciotrimestral = $producto['preciotrimestral'];
echo "<option value=\"trimestral\">$preciotrimestral $moneda trimestral</option>";
}
if($producto['preciosemestral'] != 0.00)
{
$preciosemestral = $producto['preciosemestral'];
echo "<option value=\"semestral\">$preciosemestral $moneda semestral</option>";
}
if($producto['precioanual'] != 0.00)
{
$precioanual = $producto['precioanual'];
echo "<option value=\"anual\">$precioanual $moneda anual</option>";
}
?>
</select>
<input type="hidden" name="accion" value="1" />
<input type="hidden" name="pid" value="<?php echo $pid; ?>" />
<input type="hidden" name="gid" value="<?php echo $gid; ?>" />
<input type="hidden" name="pn" value="<?php echo $_SESSION['productoscomprados']; ?>" />
<input type="submit" value="Actualizar Carro" />
</form>
<?php
}
}
}
else
{
$pn = trim(htmlentities($_GET['pn']));
$pid = $_SESSION[$pn]['pid'];
$gid = $_SESSION[$pn]['gid'];
?>
<h2>Configuración de Productos</h2>
<p>El Producto/Servicio que ha elegido tiene las opciones de configuracion siguientes. Modifique las que le interesen.</p>
<h3>Producto/Servicio</h3>
<?php
$qry = mysql_query("SELECT * FROM productos WHERE id='$pid'");
if($producto = mysql_fetch_array($qry))
{
$qry = mysql_query("SELECT * FROM grupos WHERE id='$gid'");
if($grupo = mysql_fetch_array($qry))
{
?>
<p><?php echo $grupo['nombre']; ?> - <?php echo $producto['nombre']; ?><br />
<?php echo $producto['comentarios']; ?></p>
<h3>Ciclo de Facturación</h3>
<form action="carrito.php?a=actualizar" method="post">
<select name="ciclodefacturacion">
<?php
if($producto['preciomensual'] != "0.00")
{
$preciomensual = $producto['preciomensual'];
echo "<option value=\"mensual\">$preciomensual $moneda mensual</option>";
}
if($producto['preciotrimestral'] != 0.00)
{
$preciotrimestral = $producto['preciotrimestral'];
echo "<option value=\"trimestral\">$preciotrimestral $moneda trimestral</option>";
}
if($producto['preciosemestral'] != 0.00)
{
$preciosemestral = $producto['preciosemestral'];
echo "<option value=\"semestral\">$preciosemestral $moneda semestral</option>";
}
if($producto['precioanual'] != 0.00)
{
$precioanual = $producto['precioanual'];
echo "<option value=\"anual\">$precioanual $moneda anual</option>";
}
?>
</select>
<input type="hidden" name="accion" value="2" />
<input type="hidden" name="pn" value="<?php echo $pn; ?>" />
<input type="submit" value="Actualizar Carro" />
</form>
<?php
}
}
}
break;
case "actualizar":
$accion = $_POST['accion'];
if($accion == 1)
{
$_SESSION['productocomprado'] = true;
$pn = $_POST['pn'];
$ciclodefacturacion = $_POST['ciclodefacturacion'];
$pid = $_POST['pid'];
$gid = $_POST['gid'];
$qry = mysql_query("SELECT * FROM productos WHERE id='$pid'");
if($producto = mysql_fetch_array($qry))
{
if($ciclodefacturacion == "mensual")
{
$precio = $producto['preciomensual'];
}
if($ciclodefacturacion == "trimestral")
{
$precio = $producto['preciotrimestral'];
}
if($ciclodefacturacion == "semestral")
{
$precio = $producto['preciosemestral'];
}
if($ciclodefacturacion == "anual")
{
$precio = $producto['precioanual'];
}
}
$_SESSION[$pn] = array
(
"pn"=>$pn,
"ciclodefacturacion"=>$ciclodefacturacion,
"pid"=>$pid,
"gid"=>$gid,
"precio"=>$precio,
);
$productoscomprados = $_SESSION['productoscomprados']+1;
$_SESSION['productoscomprados'] = $productoscomprados;
}
else
{
if($accion == 2)
{
$ciclodefacturacion = $_POST['ciclodefacturacion'];
if($producto = mysql_fetch_array($qry))
{
if($ciclodefacturacion == "mensual")
{
$precio = $producto['preciomensual'];
}
if($ciclodefacturacion == "trimestral")
{
$precio = $producto['preciotrimestral'];
}
if($ciclodefacturacion == "semestral")
{
$precio = $producto['preciosemestral'];
}
if($ciclodefacturacion == "anual")
{
$precio = $producto['precioanual'];
}
}
$_SESSION[$pn] = array
(
"ciclodefacturacion"=>"$ciclodefacturacion",
"precio"=>"$precio",
);
echo $_SESSION[$pn]['pn'];
echo "<br>";
echo $_SESSION[$pn]['ciclodefacturacion'];
echo "<br>";
echo $_SESSION[$pn]['pid'];
echo "<br>";
echo $_SESSION[$pn]['precio'];
}
else
{
echo "<script type=\"text/javascript\">";
echo "location.href=\"carrito.php\";";
echo "</script>";
}
}
break;
case "ver":
?>
<table width="800" border="0">
<tr>
<td>Descripción</td>
<td>Precio</td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td>Subtotal:</td>
<td> </td>
</tr>
<tr>
<td>Importe a la fecha:</td>
<td> </td>
</tr>
</table>
<?php
break;
}
?>
</body>
</html>