Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/10/2007, 06:02
alexoflexo
 
Fecha de Ingreso: mayo-2007
Mensajes: 15
Antigüedad: 17 años
Puntos: 0
Problemas con array de sesion

Hola amigos.

A ver si alguien me puede ayudar, pues estoy desesperado....

Mi problema es que quiero construir un array con una varible de session pero el codigo que he generado me funciona solo a medias...

Tengo este codigo:

<?
session_start();
?>

codigo html.........................

<?
if (!isset($_SESSION["idproducto"]))
{
$conexion = mysql_connect('localhost', $_SESSION["user"], $_SESSION["pass"]);

$ddbb=mysql_select_db('presupuestos',$conexion);

$sql1="INSERT INTO productos (idproducto) VALUES (NULL)";

mysql_query($sql1,$conexion);

//recupero el ultimo nº de registro autonumerico que he insertado.
$idproducto = mysql_insert_id($conexion);

//guardo el registro en un array de session
$_SESSION['idproducto'][]=$idproducto;

mysql_close($conexion);
}
else
{
$conexion = mysql_connect('localhost', $_SESSION["user"], $_SESSION["pass"]);

$ddbb=mysql_select_db('presupuestos',$conexion);

$sql1="INSERT INTO productos (idproducto) VALUES (NULL)";

mysql_query($sql1,$conexion);

//recupero el ultimo nº de registro autonumerico que he insertado.
$idproducto = mysql_insert_id($conexion);

//guardo el registro en un array de session
$_SESSION['idproducto'][]=$idproducto;

mysql_close($conexion);
}
?>

Mi gran dilema es que el if funciona correctamente y me generea el array de session, pero cuando vuelvo a entrar en la pagina que contiene este script, al detectar que se ha inicializado el array entra en el else, me ejecuta todo bien menos el añadir un nuevo elemento al array "$_SESSION['idproducto'][]=$idproducto;".

He hecho varias pruebas con otro codigo y no es problema de redimensionar el array ya que se redimensiona automaticamente. De eso estoy seguro.

Este el el codigo que he probado y funciona perfectamente.

if (!isset($_SESSION["idproducto"]))
{

$_SESSION['idproducto'][]=0;

}
else
{
$i=count($_SESSION['idproducto']);
$_SESSION['idproducto'][]=$i;
}

El error que me lanza es el siguiente:

Warning: Cannot use a scalar value as an array in C:\AppServ\www\PRESUPUESTOS\CREARPRESUPUESTO\NUEVO PRODUCTO\NUEVOPRODUCTO_INF.php on line 118

Por fabor si alguien me puede ayudar, se lo agradecere eternamente.

Gracias