Necesito ayuda con esto.

Iniciado por neopuerta360, 18 Octubre 2010, 23:39 PM

0 Miembros y 1 Visitante están viendo este tema.

neopuerta360

Hola atodos tengo una pregunta como hago que si index.php?id=hola no existe salga una pagina de error entienden.

como un include error.php  :D

Shell Root

#1
Supongo que ese ?id=hola, es una consulta a la base de datos o en su defecto archivo de texto. xD
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

neopuerta360

Este elcodigo que estoy usando


<?
if($id == "") {
include("principal.php");
}
else {
if(file_exists("$id.php")) {
$id = htmlspecialchars(trim($_GET["id"]));
$id = eregi_replace("<[^>]*>","",$id) ;
$id = eregi_replace(".*//","",$id) ;
include("$id.php");
}
else {
echo "Puede que la página solicitada ya no exista haya cambiado de nombre</br> o  no esté disponible temporalmente.";
}
}
?>


Shell Root

string eregi_replace  ( string $pattern  , string $replacement  , string $string  )
   Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

[u]nsigned

En este caso es mejor usar switch que if/else:

Código (php) [Seleccionar]
switch($_GET[id]){
case "Hola":
//codigo
break;
case "otracosa":
//otro codigo xD
break;
default:
//codigo si no se cumple ninguna condicion deseada
//algo como
echo "Error, opcion invalida";
break
}


ademas de ser mas estructurado, te evitas todo el filtrado...

Saludetes

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

Shell Root

@[ u ]nsigned y si son 100 paginas las que se piensa incluir?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

~ Yoya ~

ese source lo hiciste o lo copiaste, porque puedes estar preguntando algo y el source dice otra cosa sin darte cuenta
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

VLestat

No entiendo del todo bien la pregunta.. pero si quieres comprobar la existencia de ?id=loquesea puedes hacerlo con isset o no?
Si no es eso explicate un poco mejor  :rolleyes:

Shell Root

#8
@VLestat, NO!. Él no esta verificando si la variable tiene valor. Él quiere verificar si existe un archivo que es pasado por GET[] e incluirlo, de lo contrario, incluir un archivo de error.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

neopuerta360

No ese codigo no lo hice yo; Mi preguna es la siguiente:
que si por ejemplo la pagina ?id=hola no existe como hago que salga la siguiente pagina de error error.php entienden?


*Ha el siguiente codigo funciona de que cada vez que hagamos una nueva pagina no debamos de poner todo el grafico entienden! y de ven abrir la pagina asi hola.php se abre index.php?id=hola asi pra que pueda funcionar.

<?
if($id == "") {
include("principal.php");
}
else {
if(file_exists("$id.php")) {
$id = htmlspecialchars(trim($_GET["id"]));
$id = eregi_replace("<[^>]*>","",$id) ;
$id = eregi_replace(".*//","",$id) ;
include("$id.php");
}
else {
echo "Puede que la página solicitada ya no exista haya cambiado de nombre</br> o  no esté disponible temporalmente.";
}
}
?>