Foros del Web » Programando para Internet » PHP »

Function name must be a string

Estas en el tema de Function name must be a string en el foro de PHP en Foros del Web. hola muy buenas a todos haber si me podéis hechar la mano por fa en una variable de sessión queria utilizar la función session_is_registered("producto") pero ...
  #1 (permalink)  
Antiguo 14/12/2013, 05:06
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 2 meses
Puntos: 0
Function name must be a string

hola muy buenas a todos
haber si me podéis hechar la mano por fa en una variable de sessión queria utilizar la función session_is_registered("producto") pero me saltó de que la función está obseleta entonces la remplazé por $_session pero me sale dicho error de que la función ser un string
Código PHP:
   /* lo que quiero hacer es preguntar si la variable de sessión contiene
       la variable producto sino crear un array que contiene dicha variable
   */
   
if(!($_SESSION("prodt"))) /*aqui me salta el error de que la función debe ser un   
                                       error */
    
{
      
$prodt = array();
      
$_SESSION("prodt");    //
      
$items 0;
      
$_SESSION("items");
      
$total_price "0.00";
      
$_SESSION("total_price");
    } 
gracias de antemano
sal2
  #2 (permalink)  
Antiguo 14/12/2013, 05:08
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Function name must be a string

Para comprobar la existencia de una variable se usa la función ISSET.
Y $_SESSION es un array aosicativo. Para acceder a una celda del array no se usan paréntesis, se usan corchetes.
  #3 (permalink)  
Antiguo 14/12/2013, 05:18
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Function name must be a string

muxas gracias
por tu aclaración,que no hay palabras para agradecer a vuestras ayudas
saludos.
  #4 (permalink)  
Antiguo 14/12/2013, 05:46
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Function name must be a string

ahora me sale otro error haber cómo aparece mi solución si tenéis otra mejora estaré agradecido
Código PHP:
Ver original
  1. /* o sea mi intención si el producto es nuevo meterlo en un array
  2.    pero en el  caso de que ya existe un producto en el carro añadirlo sobre el que ya existe
  3.   lo que pasa en el   if($cart[$new]) me sale un error de que la variable*/
  4.   if($new)
  5.   {
  6.     //nuevo artículo seleccionado lo meto en un array
  7.     if (!isset($_SESSION["cart"]))
  8.     {
  9.       $cart = array();
  10.       $_SESSION["cart"];
  11.       $items = 0;
  12.       $_SESSION["items"];
  13.       $total_price = "0.00";
  14.       $_SESSION["total_price"];
  15.     }
  16.     if($cart[$new])
  17.       $cart[$new]++;
  18.     else
  19.       $cart[$new] = 1;
  20.       $total_price = calculate_price($cart);
  21.       $items = calculate_items($cart);
  22.  
  23.    }

haber si os ocurre una solución optima a la mía
  #5 (permalink)  
Antiguo 14/12/2013, 10:12
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Function name must be a string

Cita:
Iniciado por chouki Ver Mensaje
ahora me sale otro error haber cómo aparece mi solución si tenéis otra mejora estaré agradecido
Código PHP:
Ver original
  1. /* o sea mi intención si el producto es nuevo meterlo en un array
  2.    pero en el  caso de que ya existe un producto en el carro añadirlo sobre el que ya existe
  3.   lo que pasa en el   if($cart[$new]) me sale un error de que la variable*/
  4.   if($new)
  5.   {
  6.     //nuevo artículo seleccionado lo meto en un array
  7.     if (!isset($_SESSION["cart"]))
  8.     {
  9.       $cart = array();
  10.       $_SESSION["cart"];
  11.       $items = 0;
  12.       $_SESSION["items"];
  13.       $total_price = "0.00";
  14.       $_SESSION["total_price"];
  15.     }
  16.     if($cart[$new])
  17.       $cart[$new]++;
  18.     else
  19.       $cart[$new] = 1;
  20.       $total_price = calculate_price($cart);
  21.       $items = calculate_items($cart);
  22.  
  23.    }

haber si os ocurre una solución optima a la mía
si nos dice cual es el error de ahora seria mejor
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #6 (permalink)  
Antiguo 14/12/2013, 10:45
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Function name must be a string

gracias por su respuesta voy a postular el problema entero haber si tenéis una solución optima a la mía o tenéis otras alternativas
mi intención es añadir articulos al carro de compra que tengo:
el botón para añadir articulos:
Código PHP:
Ver original
  1. show_cart.php?new=$id
el fichero show_cart.php contiene lo siguiente:
Código PHP:
Ver original
  1. if($new)
  2.   {
  3.     //nuevo artículo seleccionado lo meto en un array
  4.     if (!isset($_SESSION["cart"]))
  5.     {
  6.       $cart = array();
  7.       $_SESSION["cart"];
  8.       $items = 0;
  9.       $items=$_SESSION["items"];
  10.       $total_price = "0.00";
  11.       $total_price=$_SESSION["total_price"];
  12.     }
  13.     if($cart[$new])
  14.       $cart[$new]++;
  15.     else
  16.       $cart[$new] = 1;
  17.       $total_price = calculate_price($cart);
  18.       $items = calculate_items($cart);
  19.  
  20.    }
  21.   // este if porque tengo un boton para salvar en el caso de que se produce un cambio
  22.      en la cantidad de articulos y se llama al mismo fichero show_cart.php
  23.  
  24.   if($save)
  25.   {
  26.     // aqui nuestro array asociativo tendrá como clave $isbn
  27.     foreach ($cart as $id => $qty)
  28.     {
  29.       if($$id=="0")
  30.         unset($cart[$id]);
  31.       else
  32.         $cart[$id] = $$id;
  33.     }
  34.     $total_price = calculate_price($cart);
  35.     $items = calculate_items($cart);
  36.   }
  37. /**************************************************************
  38.     si existe algo en el contenido del carro muestro el contenido
  39.     si no mostrar un mensaje de que el carro está vacio por tanto
  40.     no hay artículos.
  41.   ***************************************************************/
  42.   if($cart&&array_count_values($cart))
  43.     display_cart($cart);    //display_cart es una función que se encaga de mostrar los articulos
  44.   else
  45.   {
  46.     echo "<p>No hay artículos en tu carro";
  47.     echo "<hr>";
  48.   }

sabiendo que tengo declaradas la siguientes variables como globales:

global $total_price;
global $items;

a la hora de ejecutar me sale de que las variables $new ,$cart y $save no están definidas aunque la variable $new la paso por la url y las variables de $cart y $save son variables de sessión pero no se me occurre otra manera más fácil de ponerlo si tenéis otra solución más fácil para contemplar eso estaré
agradecido


agradeciendo de antemano la atención prestada
En la espera de vuestra respuesta
les saludo atentamente.

Última edición por chouki; 14/12/2013 a las 10:51

Etiquetas: function, string, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:51.