El tema es el siguiente, probé crear un usuario, y navegué la web si nproblemas pero al intentar agregar un producto al carro me dice lo siguiente:
Código HTML:
Warning: Cannot modify header information - headers already sent by (output started at /home/rs000118/public_html/conexion.bd.sql.php:9) in /home/rs000118/public_html/agregacar.php on line 77
[PHP]<?php
//localhost
$host = "localhost";
$user = "MIUSUARIO";
$pass = "MICLAVE";
$bd = "rs000118_usuarios";
$conn = mysql_connect($host,$user,$pass) or die ("Error al establecer la conexion a la base de datos");
mysql_select_db($bd,$conn) or die("La base de datos seleccionada no existe en la base de la administracion");
?> /PHP]
y el archivo agregarcar.php dice:
Código PHP:
<?php
session_start();
if (isset($_SESSION["user"])){
if ($_SESSION["user"] != ""){
//error_reporting(E_ALL);
//@ini_set('display_errors', '1');
//con session_start() creamos la sesión si no existe o la retomamos si ya ha sido creada
extract($_REQUEST);
//la función extract toma las claves de una matriz asoiativa y las convierte en nombres de variable,
//asignándoles a esas variables valores iguales a los que tenía asociados en la matriz. Es decir, convierte a $_GET['id'] en $id,
//sin que tengamos que tomarnos el trabajo de escribir $id=$_GET['ID'];
include('conexion.bd.sql.php');
//incluímos la conexión a nuestra base de datos
if(!isset($cantidad)){$cantidad=1;}
//Como también vamos a usar este archivo para actualizar las cantidades,
//hacemos que cuando la misma no esté indicada sea igual a 1
$qry=mysql_query("select * from peliculas where id_peli='".$id."'");
$row=mysql_fetch_array($qry);
//Si ya hemos introducido algún producto en el carro lo tendremos guardado temporalmente
//en el array superglobal $_SESSION['carro'], de manera que rescatamos los valores de dicho array
//y se los asignamos a la variable $carro, previa comprobación con isset de que $_SESSION['carro']
//ya haya sido definida
if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];
//Ahora introducimos el nuevo producto en la matriz $carro, utilizando como índice el id del producto
//en cuestión, encriptado con md5. Utilizamos md5 porque genera un valor alfanumérico que luego,
//cuando busquemos un producto en particular dentro de la matriz, no podrá ser confundido con la posición
//que ocupa dentro de dicha matriz, como podría ocurrir si fuera sólo numérico.
//Cabe aclarar que si el producto ya había sido agregado antes, los nuevos valores que le asignemos reemplazarán
//a los viejos.
//Al mismo tiempo, y no porque sea estrictamente necesario sino a modo de ejemplo, guardamos más de un valor
//en la variable $carro, valiéndonos de nuevo de la herramienta array.
//$carro[md5($id)]=array('identificador'=>md5($id),'cantidad'=>$cantidad,'titulo'=>$row['titulo'],'precio'=>$row['precio'],'id_peli'=>$id);
$carro[($id)]=array('identificador'=>($id),'cantidad'=>$cantidad,'titulo'=>$row['titulo'],'precio'=>$row['precio'],'id_peli'=>$id, 'sobre'=>'si');
//Ahora dentro de la sesión ($_SESSION['carro']) tenemos sólo los valores que teníamos (si es que teníamos alguno) antes de ingresar
//a esta página y en la variable $carro tenemos esos mismos valores más el que acabamos de sumar. De manera que
//tenemos que actualizar (reemplazar) la variable de sesión por la variable $carro.
$_SESSION['carro']=$carro;
$cantsobre = 0;
$cantcaja = 0;
foreach($carro as $k => $v)
{
if ($v['sobre'] == "si")
{
$cantsobre = $cantsobre + $v['cantidad'];
}
else
{
$cantcaja = $cantcaja + $v['cantidad'];
}
}
$_SESSION['sobrecant'] = $cantsobre;
$_SESSION['cajacant'] = $cantcaja;
/*
$cant = $carro[($id)]['cantidad'];
if (isset($_SESSION['sobrecant']))
{
$_SESSION['sobrecant'] = $_SESSION['sobrecant'] + $cant;
}
else
{
$_SESSION['sobrecant'] = $cant;
} */
//Y volvemos a nuestro catálogo de artículos. La cadena SID representa al identificador de la sesión, que, dependiendo
//de la configuración del servidor y de si el usuario tiene o no activadas las cookies puede no ser necesario pasarla por la url.
//Pero para que nuestro carro funcione, independientemente de esos factores, conviene escribirla siempre.
}else{
echo "<script language='javascript'>alert('Debe registrarse para realizar la operacion')</script>";
echo "<script language='javascript'>location.href='index.php'</script>";
}
}else{
echo "<script language='javascript'>alert('Debe registrarse para realizar la operacion')</script>";
echo "<script language='javascript'>location.href='index.php'</script>";
}
header("Location:vercarrito.php?".SID);
?>
Gracias!!!