Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/06/2007, 10:45
Thevenin
 
Fecha de Ingreso: agosto-2005
Mensajes: 68
Antigüedad: 19 años, 5 meses
Puntos: 4
Eliminando E_NOTICES mediante buena programación.

Hola,

he conseguido que mi aplicación me muestre solo los E_NOTICES de aquello que yo he programado.

Ya he eliminado casi todos, pero faltan unos cuantos que no sé como hacer de la manera más correcta posible.

Voy a irlos poniendo poco a poco a ver si se le puede encontrar una buena forma de eliminarlos:

Código:
Notice: Undefined index: email in c:\appserv\www\emycms-0.4.0\includes\carrito.inc.php on line 4

Notice: Undefined index: name in c:\appserv\www\emycms-0.4.0\includes\carrito.inc.php on line 6

Notice: Undefined index: lastname in c:\appserv\www\emycms-0.4.0\includes\carrito.inc.php on line 7

.., etc etc,
Eso son los E_NOTICES.

- Este es el código de un formulario (de pedido) sin rellenar.
- Cuando se rellena no se generan los E_NOTICES. Los campos
se guardan en cookies.
- Si el usuario decide seguir comprando antes de confirmar el pedido
se le recuerdan los campos, que son recuperados de las cookies.
- El código funciona correctamente. Pero genera esos E_NOTICES

A continuación el código PHP:

Código PHP:
 <?php
   $email
=$_COOKIE['email'];
    
$order_id=$_COOKIE['ref']; //Identificador de pedido.
    
$name=fn_comillas_inteligentes ($_COOKIE['name']);
    
$lastname=fn_comillas_inteligentes ($_COOKIE['lastname']);
    
$address=fn_comillas_inteligentes ($_COOKIE['address']);
    
$cp=fn_comillas_inteligentes ($_COOKIE['cp']);
    
$city=fn_comillas_inteligentes ($_COOKIE['city']);
    
$province=fn_comillas_inteligentes ($_COOKIE['province']);
    
$country=fn_comillas_inteligentes ($_COOKIE['country']);
    
$phone=fn_comillas_inteligentes ($_COOKIE['phone']);
    
$nif=fn_comillas_inteligentes ($_COOKIE['nif']);
    
$ename=fn_comillas_inteligentes ($_COOKIE['ename']);
    
$elastname=fn_comillas_inteligentes ($_COOKIE['elastname']);
    
$eaddress=fn_comillas_inteligentes ($_COOKIE['eaddress']);
    
$ecp=fn_comillas_inteligentes ($_COOKIE['ecp']);
    
$ecity=fn_comillas_inteligentes ($_COOKIE['ecity']);
    
$eprovince=fn_comillas_inteligentes ($_COOKIE['eprovince']);
    
$ecountry=fn_comillas_inteligentes ($_COOKIE['ecountry']);
    
$ephone=fn_comillas_inteligentes ($_COOKIE['ephone']);
    
$enif=fn_comillas_inteligentes ($_COOKIE['enif']);
    
$observacion_cliente=fn_comillas_inteligentes ($_COOKIE['customer_observation']);
?>
La única solución que veo es:

Código PHP:
if (isset ($_COOKIE['name')) && isset ($_COOKIE['lastname') &&
    isset (
$_COOKIE['address']),  etc 

Pero me pregunto si hay otra solución mejor, quiero evitar pasar cada variable
por la función isset, ya que dicho código es adaptable según necesidades de cada cliente, y tendría que estar continuamente escribiendo los isset si se le añaden o eliminan campos al formulario.


Gracias.