Foros del Web » Programando para Internet » PHP »

Problemas con el Include en php

Estas en el tema de Problemas con el Include en php en el foro de PHP en Foros del Web. Hola gente de FDW; no se si estaré en la categoria adecuada pero es de php (y espero que si ); veran yo estoy diseñando ...
  #1 (permalink)  
Antiguo 01/10/2010, 20:35
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Pregunta Problemas con el Include en php

Hola gente de FDW; no se si estaré en la categoria adecuada pero es de php (y espero que si ); veran yo estoy diseñando una web en php, por lo que he decidido trabajar con includes.
Bien mi duda es la siguiente:
Tengo un archivo "php" alojada en el siguiente directorio
www.tusitio.com/application.php

Desde el index.php (alojada en el mismo directorio) hago una llamada al archivo application.php con el siguiente codigo:
Código PHP:
<?php
include ("application.php");
?>
Bien hasta ahi todo funca de lo mas lindo....
Ahora viene mi problema:

Sabiendo que en todas las paginas de la web llevarán el mismo archivo "application.php" lo llamaré desde este directorio:
www.tusitio.com/online/vivo/canal-tn.php Entonces tendria que hacer lo siguiente:
Código PHP:
<?php
include ("../../application.php");
?>
o bien con la URL completa:
Código PHP:
<?php
include ("www.tusitio.com/application.php");
?>
Pero que pasa? NO ME LO MUESTRA solo me lo deja vacio como si no contuviera nada.....Ahora tmb he probado con el siguiente codigo del dreamweaver 8:
Código PHP:
<!--#include file="www.tusitio.com/application.php" --> 
Pero ni caso; alguien me podria tirar un cable?? les agradeceria de antemano; gracias compadres
  #2 (permalink)  
Antiguo 01/10/2010, 20:39
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Yo personalmente preferiría utilizar sólo el archivo de configuración del sitio en el directorio raíz y que hagas in include en el index.php, luego de eso dejas todos los demás archivos que contienen los demás códigos en una carpeta aparte (otro directorio) y en el index.php creas un código para que las llames el código dependiendo de cómo le hagas en el index.php.
Ejemplo:

http://tupagina.com/index.php?pagina=chat

y en el index.php busca "chat", el archivo que la contiene, y como se llama función que contiene el código.

Así te ahorras de estar haciendo el duro trabajo de ir haciendo el include archivo por archivo.
  #3 (permalink)  
Antiguo 01/10/2010, 20:45
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Si lo vas hacer de la segundo forma debes darle
include('http://www.tusitio.com/application.php');
para que funciones bien, pero como lo colocaste al comienzo te debería funcionar

Saludos
  #4 (permalink)  
Antiguo 01/10/2010, 20:48
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Cita:
Iniciado por egepe Ver Mensaje
Si lo vas hacer de la segundo forma debes darle
include('http://www.tusitio.com/application.php');
para que funciones bien, pero como lo colocaste al comienzo te debería funcionar

Saludos
Por lo que tengo entendido y me ha pasado, si lo haces así te va a enviar error, por que PHP tiene que ver el código que tiene el servidor, no el cliente.
  #5 (permalink)  
Antiguo 01/10/2010, 20:49
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Exclamación Respuesta: Problemas con el Include en php

gracias migue pero es que soy novato en esto de php; no me dirias como obtengo despue del signo "?" ??
Digo como seria la sintaxis para hacerla; que tendria que poner en el index.php y luego como tendria que ponerlas en las demas paginas; asi esa ayuda me la darias??
  #6 (permalink)  
Antiguo 01/10/2010, 20:56
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Problemas con el Include en php

Cita:
Iniciado por egepe Ver Mensaje
Si lo vas hacer de la segundo forma debes darle
include('http://www.tusitio.com/application.php');
para que funciones bien, pero como lo colocaste al comienzo te debería funcionar

Saludos
mira yo lo hice asi desde la carpeta local donde esta application.php
utilizando:
Código PHP:
<?php
include ("application.php");
?>
pero no me funca por mas de que le de la ruta completa desde otro directorio a ese archivo ¿me entendes?
  #7 (permalink)  
Antiguo 01/10/2010, 21:02
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

en el archivo de configuración:

config.php
Código PHP:
<?php
$config
['db_server']    =    'localhost';
$config['db_user']        =    'root';
$config['db_password']    =    '';
$config['db_name']        =    'basededatos';
$config['name']            =    'Nombre del sitio';
$config['desc']            =    'slogan del sitio';
$config['admin_email']    =    '[email protected]';
$config['url']            =    'http://tupagina.com'/*Sin el / al final */
$config['path']            =    '/donde se encuentra el archivo/raiz';
$config['codesdir']        =    '/donde se encuentra el archivo/raiz/y donde estan los codigos';

$config['db_connection']    =    @mysql_connect($config['db_server'], $config['db_user'], $config['db_password']) or die("Conexi&oacute;n con el servidor no establecida.");
@
mysql_select_db($config['db_name'], $config['db_connection']) or die("Acceso a la base de datos fallido.");
y el Índice
index.php
Código PHP:
<?php
require_once(dirname(__FILE__) . '/config.php');
require_once(
$config['codesdir'] . '/Diseno.php'); /* Esto contiene lo que es la cabeza y pie de pagina, menu, etc.. */

ob_start();
call_user_func(main([B]cabeza()[/B]));

function 
main() {
    global 
$config;

$actionArray = array(
'nombre1' => array('Nombredelarchivo.php''Nombredelafuncion'),
'nombre2' => array('Nombredelarchivo.php''Nombredelafuncion'),
);

if (!isset(
$_REQUEST['do']) || !isset($actionArray[$_REQUEST['do']])) {
require_once(
$config['codesdir'] . '/Indice.php'); */Esto es en caso de que no tengas nada en la function ?do=, sería como el índice */
return 
'Indice';
}

require_once(
$config['codesdir'] . '/' $actionArray[$_REQUEST['do']][0]);
return 
$actionArray[$_REQUEST['do']][1];

}
[
B]pie();[/B]
?>
  #8 (permalink)  
Antiguo 01/10/2010, 21:07
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Problemas con el Include en php

Bueno migue veremos que es lo que sale de ahi; espero que me sirba (o que no me equivoque en algo) jeje pero de antemano muchas gracias; cualquier cosa sigo ollendo propuestas y ayudas
  #9 (permalink)  
Antiguo 01/10/2010, 21:09
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Una cosa, si usas xampp, el directorio raíz es /xampp/htdocs
  #10 (permalink)  
Antiguo 01/10/2010, 21:13
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Problemas con el Include en php

[QUOTE=Miguelithox;3581324]en el archivo de configuración:

config.php
Código PHP:
<?php
$config
['db_server']    =    'localhost';
$config['db_user']        =    'root';
$config['db_password']    =    '';
$config['db_name']        =    'basededatos';
$config['name']            =    'Nombre del sitio';
$config['desc']            =    'slogan del sitio';
$config['admin_email']    =    '[email protected]';
$config['url']            =    'http://tupagina.com'/*Sin el / al final */
$config['path']            =    '/donde se encuentra el archivo/raiz';
$config['codesdir']        =    '/donde se encuentra el archivo/raiz/y donde estan los codigos';

$config['db_connection']    =    @mysql_connect($config['db_server'], $config['db_user'], $config['db_password']) or die("Conexi&oacute;n con el servidor no establecida.");
@
mysql_select_db($config['db_name'], $config['db_connection']) or die("Acceso a la base de datos fallido.");
Miguel en ese config.php no le falta serrarla?? con el "?>" ??
  #11 (permalink)  
Antiguo 01/10/2010, 21:13
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Verdad Miguel tienes toda la razon, de hecho yo nunca lo he hecho de ese forma pero tiene todo el sentido común de que de error..

Amigo Miguel cuando yo llamo funciones mysql_ lo hago así:

$config['db_connection'] = mysql_connect($config['db_server'], $config['db_user'], $config['db_password']) or die("Conexi&oacute;n con el servidor no establecida.");
mysql_select_db($config['db_name'], $config['db_connection']) or die("Acceso a la base de datos fallido.");

Sin la "@" saludos y gracias por la observación de arriba ;)
  #12 (permalink)  
Antiguo 01/10/2010, 21:16
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

la @ es para que no te muestre el error de mysql clásico, y te muestre solo el que salga dentro de or die().

alette666 si, me faltó cerrar el php. Pero una cosa, PHP sigue funcionando aunque no le hayas colocado el ?> al final. ¿Lo sabías? yo no hasta que me ocurrió una vez y lo leí en internet (:

Colócaselo tu y me cuentas si te funciono :)
  #13 (permalink)  
Antiguo 01/10/2010, 22:01
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 11 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Cierto pero en volumen de consulta hace lenta las operaciones por eso se recomiendo no usar @...
  #14 (permalink)  
Antiguo 01/10/2010, 22:03
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Cita:
Iniciado por egepe Ver Mensaje
Cierto pero en volumen de consulta hace lenta las operaciones por eso se recomiendo no usar @...
Osea el @ lo ocupa sólo para hacer la conexión lo demás como mysql_query ese lo dejo sin la @. Ya que el config.php va a estar incluído en todas las funciones que el llame.
  #15 (permalink)  
Antiguo 01/10/2010, 23:18
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Problemas con el Include en php

Cita:
Iniciado por Miguelithox Ver Mensaje
Osea el @ lo ocupa sólo para hacer la conexión lo demás como mysql_query ese lo dejo sin la @. Ya que el config.php va a estar incluído en todas las funciones que el llame.
buenas miguel mira lo hice tal cual esta pero me tiene loco no me sale; ni idea mañana con mas tiempo lo hago de nuevo;

Pero mientras tanto xq con el famoso
Código PHP:
<?php
include ("www.tusitio.com/application.php");
?>
no sale como cuando esta en la misma carpeta; a que se debe
  #16 (permalink)  
Antiguo 01/10/2010, 23:41
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: Problemas con el Include en php

Cita:
Iniciado por Miguelithox Ver Mensaje
Por lo que tengo entendido y me ha pasado, si lo haces así te va a enviar error, por que PHP tiene que ver el código que tiene el servidor, no el cliente.
como dice PHP ve la ruta relativa al fichero y no la absoluta que ve el cliente, por eso no funciona.

para que quieres meter una ruta absoluta cuando esta en la misma carpeta?

si quieres llamar a ese archivo desde otra carpeta no seria más factible en todo caso señalar su ruta relativa desde esa carpeta,
por ejemplo si tienes la carpeta 1 y la carpeta 2

y desde carpeta2 quieres hacer el include que esta en carpeta1

Código PHP:
Ver original
  1. include('carpeta1/aplicattion.php');
  #17 (permalink)  
Antiguo 02/10/2010, 11:19
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Problemas con el Include en php

Cita:
Iniciado por memoadian Ver Mensaje
como dice PHP ve la ruta relativa al fichero y no la absoluta que ve el cliente, por eso no funciona.

para que quieres meter una ruta absoluta cuando esta en la misma carpeta?

si quieres llamar a ese archivo desde otra carpeta no seria más factible en todo caso señalar su ruta relativa desde esa carpeta,
por ejemplo si tienes la carpeta 1 y la carpeta 2

y desde carpeta2 quieres hacer el include que esta en carpeta1

Código PHP:
Ver original
  1. include('carpeta1/aplicattion.php');
es exactamente lo que estoy aciendo:
tengo en la carpeta raiz el archivo "application.php"; llamada desde el index.php (que se encuentra en la misma carpeta raiz) me funciona; pero que pasa cuando lo llamo desde "online/vivo/", no me funciona por mas qde que le de la URL absoluta xq hace ese problema; si cuando lo llamo desde la misma carpeta anda bien, pero cuando lo llamo desde otra carpeta no me funciona mas
  #18 (permalink)  
Antiguo 02/10/2010, 11:37
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Cita:
Iniciado por alette666 Ver Mensaje
es exactamente lo que estoy aciendo:
tengo en la carpeta raiz el archivo "application.php"; llamada desde el index.php (que se encuentra en la misma carpeta raiz) me funciona; pero que pasa cuando lo llamo desde "online/vivo/", no me funciona por mas qde que le de la URL absoluta xq hace ese problema; si cuando lo llamo desde la misma carpeta anda bien, pero cuando lo llamo desde otra carpeta no me funciona mas
Por eso recomiendo que la llames con ?do=accion, así solamente la llamarás de una sola forma y no tendrás que ir archivo por archivo haciendo includes.
  #19 (permalink)  
Antiguo 02/10/2010, 11:48
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Problemas con el Include en php

Cita:
Iniciado por Miguelithox Ver Mensaje
en el archivo de configuración:

config.php
Código PHP:
<?php
$config
['db_server']    =    'localhost';
$config['db_user']        =    'root';
$config['db_password']    =    '';
$config['db_name']        =    'basededatos';
$config['name']            =    'Nombre del sitio';
$config['desc']            =    'slogan del sitio';
$config['admin_email']    =    '[email protected]';
$config['url']            =    'http://tupagina.com'/*Sin el / al final */
$config['path']            =    '/donde se encuentra el archivo/raiz';
$config['codesdir']        =    '/donde se encuentra el archivo/raiz/y donde estan los codigos';

$config['db_connection']    =    @mysql_connect($config['db_server'], $config['db_user'], $config['db_password']) or die("Conexi&oacute;n con el servidor no establecida.");
@
mysql_select_db($config['db_name'], $config['db_connection']) or die("Acceso a la base de datos fallido.");
y el Índice
index.php
Código PHP:
<?php
require_once(dirname(__FILE__) . '/config.php');
require_once(
$config['codesdir'] . '/Diseno.php'); /* Esto contiene lo que es la cabeza y pie de pagina, menu, etc.. */

ob_start();
call_user_func(main([B]cabeza()[/B]));

function 
main() {
    global 
$config;

$actionArray = array(
'nombre1' => array('Nombredelarchivo.php''Nombredelafuncion'),
'nombre2' => array('Nombredelarchivo.php''Nombredelafuncion'),
);

if (!isset(
$_REQUEST['do']) || !isset($actionArray[$_REQUEST['do']])) {
require_once(
$config['codesdir'] . '/Indice.php'); */Esto es en caso de que no tengas nada en la function ?do=, sería como el índice */
return 
'Indice';
}

require_once(
$config['codesdir'] . '/' $actionArray[$_REQUEST['do']][0]);
return 
$actionArray[$_REQUEST['do']][1];

}
[
B]pie();[/B]
?>
a ver veamos sacame de la dudas lo que se tiene que poner en estas lineas:

EN EL CONFIG.PHP
*****************
$config['path'] = '/donde se encuentra el archivo/raiz';
$config['codesdir'] = '/donde se encuentra el archivo/raiz/y donde estan los codigos';
(me pones un ejemplo?)
*****************
EN EL INDEX.PHP
*****************
(todo no entiendo; me das ejemplos?)
  #20 (permalink)  
Antiguo 02/10/2010, 11:55
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Si usas XAMPP, utiliza lo siguiente:
Código PHP:
$config['path'] = '/xampp/htdocs';
$config['codesdir'] = '/xampp/htdocs/paginas'/*Dentro de páginas colocas los archivos que tienes los códigos con FUNCIONES */ 
y en el index.php
Busca dependiendo de lo que coloques en ?do=, busca el archivo donde está (dentro de la carpeta /paginas/) y como se llama la función. Si por ejemplo pones ?do=chat, luego en el index.php está la línea:
Código PHP:
$actionArray = array( 
'chat' => array('Chat.php''Chat'), 
); 
verás que dentro del archivo Chat.php. hay una función llamada Chat y el código que está dentro de esa función es lo que te mostrará en pantalla. (Todo esto gracias a la función call_user_func();
  #21 (permalink)  
Antiguo 02/10/2010, 12:11
Avatar de alette666  
Fecha de Ingreso: febrero-2010
Ubicación: En la luna
Mensajes: 277
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Problemas con el Include en php

Cita:
Iniciado por Miguelithox Ver Mensaje
Si usas XAMPP, utiliza lo siguiente:
Código PHP:
$config['path'] = '/xampp/htdocs';
$config['codesdir'] = '/xampp/htdocs/paginas'/*Dentro de páginas colocas los archivos que tienes los códigos con FUNCIONES */ 
y en el index.php
Busca dependiendo de lo que coloques en ?do=, busca el archivo donde está (dentro de la carpeta /paginas/) y como se llama la función. Si por ejemplo pones ?do=chat, luego en el index.php está la línea:
Código PHP:
$actionArray = array( 
'chat' => array('Chat.php''Chat'), 
); 
verás que dentro del archivo Chat.php. hay una función llamada Chat y el código que está dentro de esa función es lo que te mostrará en pantalla. (Todo esto gracias a la función call_user_func();
Exelente lo voy a poner en practica muchas gracias miguel
  #22 (permalink)  
Antiguo 02/10/2010, 12:30
Avatar de Miguelithox  
Fecha de Ingreso: diciembre-2008
Ubicación: Viña del Mar
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con el Include en php

Atento con el index.php, que te dejé 2 funciones en negrita, ya que esas funciones son la cabeza y pie de pagina que se encuentran en el archivo Diseno.php, dentro de ese haces las funciones para la cabezera y pie de pagina.

Etiquetas: include
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 09:25.