Foros del Web » Programando para Internet » PHP »

problemas con NokTemplate

Estas en el tema de problemas con NokTemplate en el foro de PHP en Foros del Web. Hola Nok, este mensaje va dirigido mas que nada para ti :D Estoy viendo como funciona tu sistema y me he topado con un error... ...
  #1 (permalink)  
Antiguo 05/03/2003, 13:59
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
problemas con NokTemplate

Hola Nok, este mensaje va dirigido mas que nada para ti :D

Estoy viendo como funciona tu sistema y me he topado con un error...
Estoy probando el ejemplo3.php y va todo bien...

Hasta hay perfecto pero una vez quito esta linea:
Código PHP:
$html->setCache('Ejemplo3'30); 
Lo grabo como ejemplo33.php y pruebo a ver que pasa... pues no funciona me da este error:
Cita:
Notice: Undefined index: FILAS in C:\Archivos de programa\Apache Group\Apache2\htdocs\templates_\class.NokTemplate. php on line 162
A ver si me puedes ayudar y me dices que pasa porque me interesa tu sistema pero para nada el cache ;)


Saludos.
__________________
Zepsilon.com
Diseño e imaginacion
  #2 (permalink)  
Antiguo 05/03/2003, 14:00
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
ahh lo estoy probando con:

PHP Version 4.3.0


Saludos

PD: parece chulo tu sistema
  #3 (permalink)  
Antiguo 05/03/2003, 14:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Seguro que no has tocado nada mas del código o de la template de ejemplo? ...

Probé el ejemplo3.php original comentando la linea que hace referencia al caché y funcionó bien (incluso borrando los archivos de caché q habia creado antes)

Un saludo,
  #4 (permalink)  
Antiguo 05/03/2003, 14:51
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
Cluster lo probaste borrando esa linea??

El 1º ejemplo si me va bien si tener eso del cache porque no utiliza bloques....

NOK help!
__________________
Zepsilon.com
Diseño e imaginacion
  #5 (permalink)  
Antiguo 05/03/2003, 14:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si, borrando (comentando esa linea) .. del ejemplo 3.

Uso PHP 4.3.0 .. El "error" q te muestra es solo un "notice" (aviso) ..

Yo uso en mi configuración:

error_reporting = E_ALL & ~E_NOTICE .. por eso no veo ese "notice" . Solo muestro los warning y fatal error ..

Usa por ejemplo:
error_reporting(E_ALL & ~E_NOTICE);

Al principio del script del ejemplo 3 ...


Si muestro todos los errores (y notices incluidos de PHP) obtengo:
Notice: Undefined index: EDITAR_LINK in nok\class.NokTemplate.php(143) : regexp code on line 1

Notice: Undefined index: FILAS in nok\class.NokTemplate.php on line 151

Notice: Undefined index: EDITAR_LINK in nok\class.NokTemplate.php(143) : regexp code on line 1

Notice: Undefined index: EDITAR_LINK in nok\class.NokTemplate.php(143) : regexp code on line 1

Notice: Undefined index: CAMPO_INPUT in nok\class.NokTemplate.php(143) : regexp code on line 1

Notice: Undefined index: VARIABLE in nok\class.NokTemplate.php(143) : regexp code on line 1

Tal vez habría que hacer algunos is_array() o isset() en la classe para evitar estos "notice" en configuraciones con error_reporting = E_ALL

Un saludo,
  #6 (permalink)  
Antiguo 05/03/2003, 15:15
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
con:
error_reporting(E_ALL & ~E_NOTICE);

no me salen los errores pero eso no quiere decir que no los tenga...
__________________
Zepsilon.com
Diseño e imaginacion
  #7 (permalink)  
Antiguo 05/03/2003, 15:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No son errores .. son "notices" .. avisos de que eso no está "bien programado" pero igual continua la ejecución del script.

Por eso digo que habría que usar isset() o is_array() o lo que corresponda en el código de la classe para comprobar si esos indices q pide de esas funciones preg_replace() existen o no.

Un saludo,
  #8 (permalink)  
Antiguo 06/03/2003, 08:00
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 16 años, 7 meses
Puntos: 0
Bueno, gracias Cluster por el soporte brindado

En realidad como bien dice Cluster no es un error en el codigo, sino que es un aviso de que no esta "bien programado". Que en realidad eso es relativo. En el propio manual de PHP sugiere que se desabiliten los notice ya que en general son mas molestos que utiles.

Estos "errores" son del tipo:
if ($arreglo[0] == "hola") {

}

donde $arreglo[0] no esta declarado, pero se supone que por defecto tiene el valor vacio o 0.

En sintesis no es un error sino una omision. Yo te aconsejo que desactives los Notice y dejes solo los errores y Warnings tal como te lo recomienta cluster.

Saludos.
Nok.
PD: Lamento llegar tarde.
  #9 (permalink)  
Antiguo 06/03/2003, 08:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tambien .. otro aspecto ..

Si se validasen todas esas arrays cuyo indice no está declarado con is_array() por ejemplo .. el rendimiento del sistema algo bajaría .. y lo que se pretende es que el motor de templates parsee lo mas rápido posible para entregar la página al cliente ..

Si se definien bien las templates no ha de ocurrir esos errores en el proyecto final ..

Un saludo,
  #10 (permalink)  
Antiguo 07/03/2003, 09:07
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
gracias a todos si no hay problemas con los notices y corre bien el script decidme que tengo que cambiar en el php.ini para que no se muestren los notices...
ahh y una cosa mas tengo diferentes php.ini nose cual tengo que cambiar estan en estas carpetas:
c:\windows
c:\windows\system32

cual tengo que modificar??
__________________
Zepsilon.com
Diseño e imaginacion
  #11 (permalink)  
Antiguo 07/03/2003, 09:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El php.ini que "manda" es que diga que está usando cuando haces un phpinfo() .. (en el primer bloque si no me equivoco sale) ..

Normalmente será el que tengas en
c:\windows

Pero revisalo con tu phpinfo() pues si modificas el q no es .. no veras el efecto deseado ..

La directiva que tienes que cambiar es: (ya te lo dije mas arriba)

error_reporting = E_ALL & ~E_NOTICE

(debe quedar así ..)

Tambien te comenté que puedes usar cierta configuración del tema mostar errores o notices con la función que tambien te mencióne al principio de tus scripts (de todos y solo válido para el tiempo de ejecución de esos escripts en el que incluyas esa llamada a la funcion error_reporting() ...)

Y . bueno .. está de mas decir que cuando hagas el cambio en tu php.ini .. reinicies el servidor HTTP q uses junto con PHP (Apache?) .. Y que revises si el cambio surtió efecto haciendo un:

Código PHP:
<?
phpinfo
();
?>
Un saludo,
  #12 (permalink)  
Antiguo 07/03/2003, 09:40
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
si uso apache...
ahora miro lo del phpinfo y lo cambio :D

thanks a todos
__________________
Zepsilon.com
Diseño e imaginacion
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 04:44.