He conseguido adaptar la web para que funcione con register_globals OFF, pero hay una parte que no va bien.
Este funcionaba perfecto con Globlals en ON:
Código PHP:
<?
include ('book_sc_fns.php');
// El carrito de compra necesita sesiones, así que iniciar una.
session_start();
if($new)
{
//nuevo artículo seleccionado
if(!session_is_registered("cart"))
{
$cart = array();
session_register("cart");
$items = 0;
session_register("items");
$total_price = "0.00";
session_register("total_price");
}
if($cart[$new])
$cart[$new]++;
else
$cart[$new] = 1;
$total_price = calculate_price($cart);
$items = calculate_items($cart);
}
Y ahora, con Globals en OFF, aunque le he añadido después del "sesion_start()" la "recogida" de la variable:
Código PHP:
$new=$_GET["new"]
Veo claro que no reconoce esta parte del script:
Código PHP:
if($cart[$new])
$cart[$new]++;
else
$cart[$new] = 1;

He tratado de actualizar el script con las funciones "correctas", y ha quedado así:
Código PHP:
<?
include ('book_sc_fns.php');
// El carrito de compra necesita sesiones, así que empezar una
session_start();
// recuperar categorías de la base de datos
$new=$_GET["new"];
$cart=$_SESSION["cart"];
if($new)
{
//nuevo artículo seleccionado
if(!isset($cart))
$_SESSION["cart"];
$_SESSION["items"] = 0;
$_SESSION["total_price"] = "0.00";
if(isset($cart[$new]))
{ $cart[$new]= 9; }
else
{ $cart[$new] = 4 ; }
$total_price = calculate_price($cart);
$items = calculate_items($cart);
}
Lo que NO tengo claro es donde he puesto "$cart=$_SESSION["cart"];".... Hago esa "llamada" para que tenga obtenga el valor de $cart cuando no existe $new, pero no sé si está bien...... Desde luego, si no lo pongo, el carro ni siquiera coge el primer valor (producto).....
¿ALGUNA IDEA DE LO QUE PUEDE OCURRIR?

Gracias a todos.