Foros del Web » Programando para Internet » PHP »

register_globals

Estas en el tema de register_globals en el foro de PHP en Foros del Web. En ocasiones par ir rápido monto web de con variables absolutas de este modo: Index.php <html> <head> </head> <body> <?php include("$pagina");?> </body> </html> Y los ...
  #1 (permalink)  
Antiguo 19/05/2004, 11:19
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 293
Antigüedad: 20 años, 5 meses
Puntos: 1
register_globals

En ocasiones par ir rápido monto web de con variables absolutas de este modo:

Index.php
<html>
<head>
</head>
<body>

<?php include("$pagina");?>
</body>
</html>


Y los enlaces de este otro modo:
<a href="index.php?pagina.html ">pagina.html </a>

El caso es que funciona "pero" en ocasiones se resuelve demasiado rápido y sale un error, tengo varias maneras de resolverlo pero muchas son como demasiado complicadas y quiero algo de lo mas simplón, si pude ser.


GRACIAS
__________________

diseño web
  #2 (permalink)  
Antiguo 19/05/2004, 13:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mmm...

No sé que más "simplón" quieres .. El ejemplo que has puesto es tan extremadament simple que no validas NADA y eso hace peligroso su uso.

Debes "filtrar" que pagínas se pueden llamar mediante tu método.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/05/2004, 00:27
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 293
Antigüedad: 20 años, 5 meses
Puntos: 1
Si peron el tema es que me da error por que la resuelve demasido rapido, es decir de cada 10 clic un me da error.

filtrar???? mmmmhh?? COMO???
__________________

diseño web
  #4 (permalink)  
Antiguo 20/05/2004, 06:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
"Resuelve rápido?" ...

Si usas "require()" en lugar de include() veras que tu script no continua si hay algún error de carga de ese archivo. Pero .. si tienes ese tipo de problemas tendrás que ver por otro lado donde tienes el problema con tu sistema de archivos o incluso configuración de tu servidor HTTP y ver cuantas peticiones a tiempo acepta de un mismo cliente (por ahí puede estar el problema).

---------

El filtrado por ejemplo sería con un array donde esta contenga el nombre/ruta de tus paginas y verificar en ese array si lo que se está pidiendo está en ella:

Código PHP:
<?
$urls
['nose']="nose.html";
$urls['blabla']="blabla.php";

if (!empty(
$_GET['url'])){
   if (
in_array($_GET['url'])){
       require (
$urls{$_GET['url']});
   } else {
       require (
"error.html");
   }
} else {
    require (
"codigo_por_defecto.nose");
}
?>
Y llamas a tus páginas por el indice de ese array creado:
index.php?url=nose
index.php?url=blabla

Si accedes a index.php .. carga el "código por defecto" .. si indicas un index.php?url=noexiste .. o index.php?url= .. carga el código de "error" ...

Y a todo esto puedes hacer más validaciones tipo "file_exists()" para comprobar que realmente exista el archivo antes de intentar hacer "incluirlo" (por si lo borrastes y no modifastes el array de $urls o te equivocastes).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 20/05/2004 a las 06:44
  #5 (permalink)  
Antiguo 20/05/2004, 13:26
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 293
Antigüedad: 20 años, 5 meses
Puntos: 1
El error es este:
Fatal error: input in flex scanner failed in /home/httpd/vhosts/papergolf.com/httpdocs/html on line 1
__________________

diseño web
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 19:44.