Haber si me explico, estoy haciendo una web, y hay un apartado que es para ver la TV, pero hay como 25 canales, y no quiero que quede:
dominio.es/tv/tele5.php
dominio.es/tv/Antena3.php
...
ya que gastaria espacio y me costaria hacerlo...
Entonces he pensado hacer un archivo que sea.
dominio.es/tv/index.php
y donde se tenga que mostrar la ventana de TV poner:
Citar
<?php
include("$canal.php")
?>
y que si quiero que sea t5, la URL sea:
http://dominio.es/tv/index.php?canal=t5
Y que se ponga en el include el archivo t5.php
----------
lo que pasa es que si se pone un valor equivocado como
http://dominio.es/tv/index.php?canal=asf
te manda las lineas:
Warning: main(ds.php): failed to open stream: No such file or directory in /var/www/vhost/domino.es/home/html/web/pruebas.php on line 8
Warning: main(): Failed opening 'ds.php' for inclusion (include_path='.:/usr/share/pear') in /var/www/vhost/dominio.es/home/html/web/pruebas.php on line 8Puedo hacer algo, para que se redirija a por ejemplo error.php ¿?
eres nuevo en el php pero bueno
puedes hacer esto
if(empty($canal)){//asi verias que no venga la varible vacia
echo'Lo siento no se encontro ese canal';
}else{
//aki puedes poner un switch para seleccionar un canal
// y puede poner una pagina base en la cual solo cambien la lineas
//del codigo para la tele
}
explicate mas por cierto no que ya tye avias ido que no se que naaa!!! XD
Esto va en PHP.
Usa el switch - case
http://es2.php.net/switch
Y mucho cuidadin al incluir una variable como lo haces tu o puedes crearte un RFI bien bonito en tu codigo.
Saludos!
que eso eso de RFI¿? que podria pasar ¿?
Cita de: dimitrix1 en 7 Abril 2007, 18:57 PM
que eso eso de RFI¿? que podria pasar ¿?
Qué puede pasar? de todo ;D
Revisate esto. (http://en.wikipedia.org/wiki/Remote_File_Inclusion)
Haber, yo uso esto:
Citar<?php
include("$canal.php")
?>
y Red Mx puso esto:
Citarif(empty($canal)){//asi verias que no venga la varible vacia
echo'Lo siento no se encontro ese canal';
}else{
//aki puedes poner un switch para seleccionar un canal
// y puede poner una pagina base en la cual solo cambien la lineas
//del codigo para la tele
}
bueno, pues simplemente, cambie una cosa por otra, pero me da error, como quedaria, para pegar.
PD: ¿Que quieres decir con esto?:
explicate mas por cierto no que ya tye avias ido que no se que naaa!!! XD
es que primero leee un tutorial de PHP por creo andas perdido sabiendo C php se papita
Tutorial php completo formato PDF
http://www.piensaenphp.com/redmx/foro/viewtopic.php?t=37
<?php
if(empty($canal)){//asi verias que no venga la varible vacia
echo'Lo siento no se encontro ese canal';
}else{
//aki puedes poner un switch para seleccionar un canal
// y puede poner una pagina base en la cual solo cambien la lineas
//del codigo para la tele
include("$canal.php")// no se si funcione esta linea
}
?>
haber el codigo que me has dado, si lo pego tal cual me da problemas, lo he modificado y tal, pero en fin lo he dejado algo así:
<?php
if(empty($canal)){//asi verias que no venga la varible vacia
echo'Lo siento no se encontro ese canal';
}
include("$canal.php")// no se si funcione esta linea
?>
Pero así no me pueden hacer un RFI ¿?
Y Ertai, he mirado la web que me dijistes lo de los switch esos, pero eso sale como comparar 2 o más valores, cual seria el que tendria que usar yo ¿?
Hola,
Aquí te dejo un ejemplo de como usar el switch. Suponiendo que tienes en $i la variable que te llega en la URL (propiamente dicho, GET), este código incluirá el archivo que toca dependiendo de su valor, y en caso de que tuviera un valor "inesperado" o que tu no te esperavas, hará la rama del default.
De esta manera tu código esta mucho más limpio y bonito y, a la vez, evitas el RFI (Remote File Inclusion). Porque? Fijate que yo solo hago includes de un archivo, pero nunca de una variable. Si dejas que lo haga una variable, dejas demasiada libertad al usuario para poder hacer un include de cualquier archivo (incluso tambien de algun archivo maligno alojado en otro servidor).
Para + info leete el link que te dejó Ing_Amc de Wikipedia.
<?php
switch ($i) {
case "antena3":
include("antena3.php");
break;
case "telecinco":
include("telecinco.php");
break;
case "la_siete":
include("la_siete.php");
break;
default:
include("error.php");
}
?>
Saludetes!
Muchas gracias, te subiria karmas si pudiese pero el_brujo no lo ha activado :xD
Bueno, modificando el codigo a mis necesidades, el codigo me queda así:
<?php
switch ($tv) {
case "docutve":
include("canal/docutve.php");
break;
case "infot5":
include("canal/infot5.php");
break;
case "24htv":
include("calnal/24htve.php");
break;
case "sat":
include("calnal/sat.php");
break;
case "clatino":
include("calnal/clatino.php");
break;
case "cnn":
include("calnal/cnn.php");
break;
case "bloomberg":
include("calnal/bloomberg.php");
break;
case "valenciateve":
include("calnal/valenciateve.php");
break;
case "rtvv":
include("calnal/rtvv.php");
break;
case "localmedia":
include("calnal/localmedia.php");
break;
case "ojossolitarios":
include("calnal/ojossolitarios.php");
break;
case "solidariatv":
include("calnal/solidariatv.php");
break;
case "tvvi":
include("calnal/tvvi.php");
break;
case "c29v":
include("calnal/c29v.php");
break;
case "aragontv":
include("calnal/aragontv.php");
break;
case "tvg":
include("calnal/tvg.php");
break;
case "cparlamento":
include("calnal/cparlamento.php");
break;
case "ccastello":
include("calnal/ccastello.php");
break;
case "bloombergtvus":
include("calnal/bloombergtvus.php");
break;
default:
include("canal/error.php");
}
?>
El problema es que lo veo muy grande, eso no implicara que la pagina tarde más en cargar ¿?
el switch solo busca que se cumpla una condición en cuanto se cumple introduce esa página sin más. el switch no ralentiza nada en absoluto, operación básica
Muchas gracias a todos.