Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/07/2003, 03:32
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El problema de poner el display_errors a off es que ya no veras ningun mensaje de error, asi que durante el desarrollo es mas dificil de depurar el codigo. Cuando ya tienes es sitio funcionando en la web definitiva, si es recomendable ponerlo a off.

El problema te lo da porque no se ha metido ningun dato en ese campo en el formulario, por lo que ese campo no se envia, PHP no lo recibe y no crea el elemento en $_POST. La solucion es comprobar con isset() si existe antes de asignarle valor:
Código PHP:
if (isset($_POST['propietario']) {
  
$propietario=$_POST['propietario'];
} else {
  
$propietario=NULL;
}

// o este codigo mas compacto
$propietario=(isset($_POST['propietario'])?$_POST['propietario']:NULL); 
Con esto compruebas si existe.

Otra opcion es "tapar" el mensaje en esa linea en concreto con @.
Código PHP:
$propietario=@$_POST['propietario']; 
Esto ultimo solo lo recomiendo en el caso en que estes seguro de que el campo se llama asi, porque si te equivocas y pones $_POST['popietario'] estarias ocultando el error de tecleo. Recomiendo primero hacerlo sin @, comprobar lo del nombre, y una vez seguro del nombre del campo, poner la @. Y por suspuesto, acordarse de esto cuando cambies el nombre del campo (o deje de funcionar el script).

<spam>Esto lo comento en mi miniarticulo que aparece en mi firma, explicando un poco por que funciona. Todavia estais a tiempo de sugerir cosas par la siguiente version.<spam>

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.