Includes y protocolo

Mira a mi pagina tradicional le adjunto un include (obviamente la pagina la guardo con la extension php y la pagina incluida tambien).

El include que uso es:

<?php include ("php/menu-izquierdo/index.php");?>

*Lo que hace este script es llamar a un menu que se repetira en muchas paginas, y la ventaja es que con solo modifiar el menu se repite en todas las paginas.


Este include cuando lo subo a la web, se ve perfectamente.
El problema es que no puedo visualizar la pagina, ni puedo modificarla desde dream weaver por que esos includes no me lo permiten.


Me quedan dos opciones:

1. Alterar la escritura de mis includes para romper el script y poder visualizar mi pagina, tal cual se veria colgada, pero en dream weaver.

Ejem: <?php include ("ph/menu-izquierdo/index.php");?>

(aca le he borrado el nombre de la carpeta php por solo ph, y como esta carpeta no existe en mi dreamweaver puedo ver mi pagina en dream normalmente.



2. Poner los includes con los enlaces completos,

asi: <?php include ("http://www.paginas-seo.com/php/menu-izquierdo/index.php");?>


En este segundo caso, ya puedo visualizar mi pagina correctamente en mi pc y modificarla a mi antojo y volverla a subir. El problema es que en la web no se ven, en vez de llamar al menu-iaquierdo, se ven letras, comandos y partes del script.


Este mismo problema sucedia antes con proveedor de hosting que antes usaba, es decir no podia ver los includes si ponia el protocolo http://www.... una ves cargados en mi pagina, y si los ponia sin el protocolo se veian en internet pero no en mi dreamweaver y no podia modificarlos.

Al tiempo esto se arreglo, la respuetsa exacta no me la dieron, pero como estaban modernizando su sistema, supuse que tenia que ver con esto.

Hoy estoy usando otro proveedor de hosting y me da el mismo problema, alguien sabe si es problema mio o del servidor.

Alguien tiene una respuesta que no sea instala el apache en tu pc?

Espero haber sido clara en mi pregunta, gracias!!!

Angelica.
Cual es tu web para ver si el problema persiste, o coloca parte del codigo de tu web donde llames al include. yo tambien utilizo includes pero nunca me han salido parte del codigo cuando hay algun error, simplemente no hace nada o me marca el error tal en la linea x.
serverdns escribió:Cual es tu web para ver si el problema persiste, o coloca parte del codigo de tu web donde llames al include. yo tambien utilizo includes pero nunca me han salido parte del codigo cuando hay algun error, simplemente no hace nada o me marca el error tal en la linea x.

La web es:

www.paginas-seo.com/futbolypasion/index.php

el menu se ve a la izquierda correctamente.

Pero, en mi pc no la veo.
No Veo ningun error En Tu Pagina :roll: :roll:

Talvez tu servidor no permita incluir archivos con protocolo http
asi como tu lo pones en tu include, y como dices que cuando le quietas el protocolo funciona bien, pues eso significa que no puedes usar el protocolo para llamar a un archivo desde tu servidor.

Quitale y el protocolo cuando termines de editar tu archivo para que siempre este sin protocolo en el servidor.
serverdns escribió:No Veo ningun error En Tu Pagina :roll: :roll:

Talvez tu servidor no permita incluir archivos con protocolo http
asi como tu lo pones en tu include, y como dices que cuando le quietas el protocolo funciona bien, pues eso significa que no puedes usar el protocolo para llamar a un archivo desde tu servidor.

Quitale y el protocolo cuando termines de editar tu archivo para que siempre este sin protocolo en el servidor.

Claro quitarle y ponerle el protocolo seria una buena opcion, pero si hablamos de una pagina de unos 100 paginas internas, ya no se hace una tarea simple, en todo caso para que usar PHP no me ayudaria en nada.

Next....

No es broma, gracias por tu aporte de todas maneras.
tambien podrias poner <?php include ('../php/menu-izquierdo/index.php') ?>
Claroo que no la veras....

es algo obioo que no la veras en tu PC...

Dejame Explicarte..


El Php Es un Lenguaje que se ejecuta en un servidor, o un hosting..
es decir, para ver algo en PHP debes subirlo por FTP y poner la página


si en dado caso quisieras ver algo PHP en tu computadora deberas
descargarte el programa apache e instalarlo igual que php

Entra en http://httpd.apache.org/ y descarga la versión 2.0.xx para Win32, actualmente apache_2.0.59-win32-x86-no_ssl.msi

ahora ve a http://www.php.net/ y descarga los Windows Binaries de la versión 4.x.x, actualmente PHP 4.4.4, en esta caso descargar el ZIP y no el instalador.

-----------
Instalar Apache

Apache HTTP, el servidor Web por excelencia es muy sencillo de instalar, para ello viene con un instalador que nos ayudará en este proceso. Primero ejecutamos el instalador, primero aceptamos los términos y condiciones del software luego aparecerá una pantalla para la configuración de apache.



En esta pantalla nos solicitan los siguiente datos:
Network Domain: Es el nombre del dominio donde esta nuestra PC, nosotros colocaremos localhost
Server Name: Viene a ser el nombre de nuestro servidor, en nuestro caso localhost.
Administrato's Email Address: es la dirección de email del administrador del servidor, colocamos nuestro email personal.

En la siguiente pantalla seleccionamos el tipo de instalación típica y dejamos que el instalador configure e instale el servicio en nuestra PC. Una vez finalizada la instalación, podemos verificar que el servidor web esta funcionando correctamente colocando en la barra de direcciones de nuestro browser cualquiera de las siguientes opciones:
http://localhost/
http://127.0.0.1/
http://nombre_maquina/ por ejemplo http://pcmarita/
http://numero_ip/ por ejemplo http://192.168.1.36/

Si la instalación ha sido exitosa aparecerá una página conteniendo un aviso de confirmación de la instalación.

Apache por defecto se instala en la carpeta: C:\Archivos de programa\Apache Group\Apache2, aquí encontraremos una carpeta conf donde están los archivos de configuración y la carpeta htdocs el cual es el directorio de publicación, es decir que cualquier archivo que coloques en esta carpeta se reflejará en el servidor web. Por ejemplo si colocamos una carpeta llamada foro y dentro de ella hay un archivo lista.htm, la dirección de este archivo será: http://localhost/foro/lista.htm

Instalar PHP

Para instalar PHP si tendremos que hacer uso de la instalación manual pues el instalador generalmente no funciona. El primer paso es extraer el archivo descargado y colocar los archivos a una carpeta, generalmente c:/php (Puedes elegir la ruta que prefieras). Luego de ello copias el archivo php.ini-dist de la carpeta de instalación de PHP al directorio del sistema, es decir a c:/WINDOWS y renombrarlo a php.ini

El siguiente paso es configurar PHP para que funcione con Apache, para ello abrimos el archivo php.ini y hacemos las siguientes modificaciones:
doc_root: es la ruta de la carpeta de publicación de Apache en nuestro caso seteamos: doc_root = C:\Archivos de programa\Apache Group\Apache2\htdocs
extension_dir: es el directorio donde se encuentran las extensiones de PHP, en nuestro caso: extension_dir = C:\php\extensions
upload_tmp_dir: Carpeta donde se subiran los archivos temporalmente al hacer upload, en nuestro caso upload_tmp_dir = C:\WINDOWS\Temp
session.save_path: Ruta donde se almacenará los archivos relacionadas a las sesiones de los usuarios, en nuestro caso session.save_path = C:\WINDOWS\Temp

El siguiente paso es configurar Apache para que soporte las llamadas de archivos .php, para ello abrimos el archivo de configuración httpd.conf ubicado en: C:\Archivos de programa\Apache Group\Apache2\conf, en este archivo agregamos las siguientes lineas:
ScriptAlias /php/ "c:/php/"
Action application/x-httpd-php "/php/php.exe"
AddType application/x-httpd-php .php


Donde se tiene que c:/php/ es la carpeta de instación de nuestro PHP. Estas tres lineas las podemos agregar al final del archivo http.conf o podemos buscar el bloque donde se encuentra cada uno de los comandos (ScriptAlias, Action, AddType) y agregarlos al final de cada bloque.

Otro punto adicional es configurar Apache para que reconozca las páginas index.php como páginas por defecto, para ellos buscamos DirectoryIndex y agregamos index.php con lo cual quedaría:
DirectoryIndex index.php index.html index.html.var


Ahora detenemos y luego iniciamos el servidor Apache para tener lista nuestra instalación. Para finalizar creamos un pequeño archivo llamado test.php en nuestra carpeta htdocs para probar el funcionamiento de PHP. Escribimos el siguient código:
<?php phpinfo(); ?>


Si la instación ha sido existosa se mostrará la siguiente pantalla con detalles de la configuración de PHP.
[contenido no disponible]

Y listo ya puedes ejecutar tus programas PHP en la PC
Ò usas un pakete que incluya apache,php,mysql,phpmyadmin...como esos hay muchos,yo recomiendo el wamp es facil de instalar y aemas lleban paneles de control desde los que puedes acceder a los archivos de configuracion
kaotick escribió:Ò usas un pakete que incluya apache,php,mysql,phpmyadmin...como esos hay muchos,yo recomiendo el wamp es facil de instalar y aemas lleban paneles de control desde los que puedes acceder a los archivos de configuracion

Gracias por el aporte de todos.

Y bueno decirles que usar el apache, se que soluciona todo, pero yo tengo una web en dattatec y puedo ver mi pagina tanto en mi Pc como cuando la subo en la web.

El problema surge con este nuevo hosting que contrate.

Lo que hacia era poner en los includes el protoclo de http://
Y con esto ya podia ver todo, el problema con este nuevo hosting es que no lo reconoce cuando lo subo.

Bueno esto ya lo explique en el primer mensaje, gracias a todos de nuevo, pero por favor traten de leer bien lo que puse. O quizas no fui clara, en todo caso ya lo repeti.

Alguien dijo por ahi que se debe al tipo de hosting que contrato, podrian decirme mas al respecto.
es que en el php se pueden activar dos clases de includes,el de un fichero de la pagina y otro con url,en tu nuevo osting el include de url estara desactivado por seguridad
kaotick escribió:es que en el php se pueden activar dos clases de includes,el de un fichero de la pagina y otro con url,en tu nuevo osting el include de url estara desactivado por seguridad

Eso quiere decir que es inseguro el include que maneja url, si esto es cierto, en que me podria perjudicar?

Y entonces se puede activar la opcion include con url ? , si esto es cierto, como?
El hacer un include con url, es inseguro porque en pocas palabras tendrias adceso a cualquier archivo de cualquier web, conociendo su nombre, aunque esto no serviria de nada ya que el servidor al que llamas en el include procesaria el archivo que piedes y te enviaria el resultado html.

Claro eso es teoricamente, yo diria que la mayoria de los servidores tienen desabilitado el include por url, por no decir que todos, y hasta quizas en las nuevas verciones de php ya no se implemente ese tipo de include, por cuestiones de seguridad.

Creo Que si Quieres incluir un archivo php en tu pagina y quieres ver el resultado de la ejecucion del php, solo lo podras ver en el servidor, o en con un interprete local.
serverdns escribió:El hacer un include con url, es inseguro porque en pocas palabras tendrias adceso a cualquier archivo de cualquier web, conociendo su nombre, aunque esto no serviria de nada ya que el servidor al que llamas en el include procesaria el archivo que piedes y te enviaria el resultado html.

Claro eso es teoricamente, yo diria que la mayoria de los servidores tienen desabilitado el include por url, por no decir que todos, y hasta quizas en las nuevas verciones de php ya no se implemente ese tipo de include, por cuestiones de seguridad.

Creo Que si Quieres incluir un archivo php en tu pagina y quieres ver el resultado de la ejecucion del php, solo lo podras ver en el servidor, o en con un interprete local.


Muchisimas gracias por tu apunte final, a todos en realidad.

Entonces el servicio que me da dattatec.com es inseguro ?
Eso de los includes es teoricamente, no es que sea inseguro si lo permiten o no, es simplemente que para que esperar que algo suseda cuando se puede evitar, es mejor no permitir el uso de includes por protocolo a esperar que alguien teoricamente robe el codigo de alguien mas o lo utilice sin su consentimiento, asi que para no esperar a que algo como eso suseda mejor no permitir el uso de includes por protocolo.

Pero analizando tu problema talvez encontre la solucion:

Si con este include se ve tu web en tu pc perfectamente:
include("http://www.paginas-seo.com/php/menu-izquierdo/index.php");

Pero en el servidor no, puedes condicionar el include.


if(file_exists("php/menu-izquierdo/index.php")){
include("php/menu-izquierdo/index.php");
}else{
include("http://www.paginas-seo.com/php/menu-izquierdo/index.php");
}

Eso Deveria verificar si se esta ejecutando en el servidor o en tu pc.
Si lo que quieres es que solo se incluya el menu en el servidor, quedaria asi:

if(file_exists("php/menu-izquierdo/index.php")){
include("php/menu-izquierdo/index.php");
}

Ya que si el archivo no existe no lo incluye, pero si existe entonces lo incluye.

8) 8)