Foros del Web » Programando para Internet » PHP »

direcciones externas en el menú

Estas en el tema de direcciones externas en el menú en el foro de PHP en Foros del Web. Tengo mi sitio modularizado, de forma que los enlaces del menú son index.php?variable=id. El problema es que quiero implantar un foro que está en otro ...
  #1 (permalink)  
Antiguo 23/03/2005, 18:58
Avatar de Lio Tse  
Fecha de Ingreso: febrero-2004
Mensajes: 21
Antigüedad: 20 años, 2 meses
Puntos: 0
direcciones externas en el menú

Tengo mi sitio modularizado, de forma que los enlaces del menú son index.php?variable=id.
El problema es que quiero implantar un foro que está en otro servidor; y me gustaría que el enlace del foro estuviera añadido al menú... pero no me funciona. El código del programa es el siguiente:
Código PHP:
<?php
if (!empty($_GET["mod"])) {
    
$mod=$_GET["mod"];
}else{
    
$mod=1//compruebo que haya un valor en la variable y, en caso de no estar se  lo asigno por defecto.
}
include(
"conf.php");
$sql="SELECT * FROM modulos WHERE id='$mod'";
$ra=mysql_query($sql,$con);
if (
mysql_num_rows($ra)) {
$ras=mysql_fetch_array($ra);
mysql_free_result($ra);
extract($ras); //extraigo las direcciones de la base de datos
    
if ($directorio!="") {
        
$modulo=$directorio."/".$modulo//la variable $directorio me recoge la dirección donde está el archivo, mientras que la variable $modulo recoge el nombre del archivo
        
$nomod=$nombre//nombre de la sección para la cabecera
        
if ($casa==1) {  // la variable $casa recoge si el lugar es externo, para cuando su valor es igual a 1
            
header($modulo); // esto es lo que creo que no funciona. Aquí $directorio="http://dirección", y $modulo="http://direccion/archivo"
            
exit;
        }
    }
    include(
"menu.php");
    include(
"cabecera.htm");
    include(
$modulo);
    include(
"pie.htm"); // en caso de no ser enlaces externos desarrolla los módulos del menú. Esta parte funciona perfectamente.
    
$sql="UPDATE modulos set visitas=visitas+1 where id='$mod'";
    
$rs=mysql_query($sql,$con);
}else{
    die(
"No se pudo realizar la conexión a la base de datos");
}
mysql_close($con);
?>
¿ Qué es lo que hago mal? ¿ Cómo podría arreglarse este problema?

¿ Podría alguien ayudarme?

Gracias
__________________
Hoy es siempre todavía
  #2 (permalink)  
Antiguo 23/03/2005, 19:37
 
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 249
Antigüedad: 20 años, 4 meses
Puntos: 0
Si yo no te entiendo mal, primero defines modulo que vendría a ser una url, pero le agregas directorio./ al comienzo, lo que te llevaría a tudirectorio/http://link

Lo que deberías hacer es revisar antes, si casa == 1 enviar a la ubicación que indica.
Luego le sigue la otra parte, que define el modulo y nomod. :)

rápidamente sería:

Código PHP:
if($casa == 1header("Location: $modulo");
modulo $directorio.'/'.$modulo;
$nomod $nombre
un saludo.
__________________
Crónicas de un Programador es un sitio que registra lo que ocurre cada día en la vida de un desarrollador. Aquí, intentaremos contar nuestras experiencias diarias, errores, aciertos y técnicas, que pueden llegar a serles de utilidad.
  #3 (permalink)  
Antiguo 24/03/2005, 05:08
Avatar de Lio Tse  
Fecha de Ingreso: febrero-2004
Mensajes: 21
Antigüedad: 20 años, 2 meses
Puntos: 0
No, en un principio $módulo sólo es el nombre del archivo que quiero llamar (ej.: index.php). La dirección url está recogida en la variable $directorio. Al hacer $modulo=$directorio./.$modulo lo único que hago es incorporar al nombre del archivo su dirección (relativa, si voy a incorporarlo a un include, o absoluta para el caso de incorporarlo al header).
Bueno... parece que era cosa de ponerle "Location:" al header.

Gracias
__________________
Hoy es siempre todavía
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 22:54.