Foros del Web » Programando para Internet » PHP »

include('fecha.php?version=flash')

Estas en el tema de include('fecha.php?version=flash') en el foro de PHP en Foros del Web. Hola. Me han pedido que haga una web dinámica y no tengo ni idea. Llevo dos días documentándome y ya empiezo a entender como funciona ...
  #1 (permalink)  
Antiguo 28/12/2005, 15:57
Avatar de Pablo Castrillo  
Fecha de Ingreso: agosto-2005
Mensajes: 78
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta include('fecha.php?version=flash')

Hola.
Me han pedido que haga una web dinámica y no tengo ni idea. Llevo dos días documentándome y ya empiezo a entender como funciona esto del php...
Pero, ahora me surge una pregunta. Veamos,

Tengo el archivo fecha.php, que me devuelve por pantalla una cadena de caracteres, codificada con utf8_encode o no, dependiendo de la variable $destino.

Por ejemplo,
si $destino = flash, me devuelve esto: Miércoles, 28 de diciembre de 2005
si $destino = html, me devuelve esto: Miércoles, 28 de diciembre de 2005

Este es el codigo:
Código:
<?
$DiaNumero = date("d");
$Anyo = date("Y");
$ArraySemanal=array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo");
$ArrayMeses=array("","enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre");

$DiaSemanaFlash = utf8_encode($ArraySemanal[date("w")]);
$MesFlash = utf8_encode($ArrayMeses[date("n")]);

$DiaSemana = $ArraySemanal[date("w")];
$Mes = $ArrayMeses[date("n")];


$destino = $_GET['version'];

if ($destino=="flash")
	echo "$DiaSemanaFlash, $DiaNumero de $MesFlash de $Anyo";
elseif ($destino=="html")
	echo "$DiaSemana, $DiaNumero de $Mes de $Anyo";
?>
Ahora quiero pasar la cadena a Flash. Haciéndolo así, funciona:
Código:
<param name="movie" value="02.swf?fechaServer=Miércoles,+28+de+diciembre+de+2005">
Pero haciéndolo así no:
Código:
<param name="movie" value="02.swf?fechaServer=<?include('fecha.php?destino=flash'); ?>">
No sé si se entiende bien lo que pretendo. La cuestión es que al flash no le puedo pasar la cadena de texto normal porque no entiende los acentos eñes y demás. Creo que esta sería una forma de solucionarlo.

Si me echan una mano con este código o me dan una idea mejor les estaría muy agradecido.

Saludos a todos.
  #2 (permalink)  
Antiguo 28/12/2005, 16:45
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 13 años, 3 meses
Puntos: 1
Hola.
El problema creo que es que no se pueden pasar variables al hacer un include, por lo que desitno no puedes incluirlo.
Lo que debes hacer es dejar una variable $destino con el valor que sea y NO especificarla en el include, de forma que desde éste puedas acceder a ella. Por ejemplo:
Código PHP:
$destino = "flash"; 
// ...
<param name="movie" value="02.swf?fechaServer=<?include('fecha.php'); ?>">
y en fecha.php:
Código PHP:
// ...
if ($destino=="flash")
  echo 
"$DiaSemanaFlash, $DiaNumero de $MesFlash de $Anyo";
elseif (
$destino=="html")
  echo 
"$DiaSemana, $DiaNumero de $Mes de $Anyo"
Esto debería funcionar perfectamente

En cualquier caso, lo mejor es que lo hagas con una función. En fecha.php podríasponer algo como esto:
Código PHP:
function fecha($destino)
{
  
// Aquí todo igualmente
  // Lo suyo es que en vez del echo, aquí devuelvas la cadena que sea:
  
if ($destino=="flash")
    return 
"$DiaSemanaFlash, $DiaNumero de $MesFlash de $Anyo";
  elseif (
$destino=="html")
    return 
"$DiaSemana, $DiaNumero de $Mes de $Anyo";

De esta forma, en el archivo que incluya podrías poner esto:
Código PHP:
include("fecha.php"); // No hará nada, no devolverá nada
// ... todo lo que sea
<param name="movie" value="02.swf?fechaServer=<? echo fecha("flash"); ?>">
Lo mejor es que un archivo no haga ningún echo directamente, sino que ofrezca funciones. Después, desde un archivo principal, como index.php o algo así, uses esas funciones para generar la salida completa.
Un saludo
__________________
Mi página personal: Julián Urbano
  #3 (permalink)  
Antiguo 29/12/2005, 03:58
Avatar de Pablo Castrillo  
Fecha de Ingreso: agosto-2005
Mensajes: 78
Antigüedad: 12 años, 3 meses
Puntos: 0
Muchas gracias

Hola Caerolus,

Te agradezco muchísimo tu ayuda. Después de un ratillo trasteando con tu código por fin lo he conseguido. ¡La verdad es que tu explicación era perfecta!

Seguiré aprendiendo php, me está empezando a gustar

Un saludo a todos!!
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 13:27.