Pregunta:
Fecha: 28-02-2017 06:44:09
(En Español)
Menus
reporte/reporte.php
grafica/grafica.php === aquí es que tengo problema, cuando hago clic en grafica me busca así: reporte/grafica/grafica.php
estoy usando la plantilla de bootstrap el ace-master
Gracias por sus respuestas Votos: 0 - Respuestas: 15 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
Problemas con Rutas en PHP[Resuelta]
Buenos días, disculpen estoy teniendo este problema, les comento estado pensando ordenar mis archivos de php según su categoría por capeta, para que no esten sueltos en la carpeta principal, he ordenado, en el menú principal le asignado la ruta, asi.Menus
reporte/reporte.php
grafica/grafica.php === aquí es que tengo problema, cuando hago clic en grafica me busca así: reporte/grafica/grafica.php
estoy usando la plantilla de bootstrap el ace-master
Gracias por sus respuestas Votos: 0 - Respuestas: 15 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 28-02-2017 11:58:20 Ya intentaste utilizando rutas absolutas? como /grafica/grafica.php
si estas dentro de una ruta por ejemplo http://example.com/reporte y hacer click en un link que sea
<a href="grafica/grafica.php">, al ser relativa va a buscarlo en http://example.com/reporte/grafica/grafica.php
sin embargo si lo haces como
<a href="/grafica/grafica.php"> (notese el / al inicio) deberia de resolver correctamente. http://example.com/grafica/grafica.php Votos: 1 - Link respuesta -
Fecha: 28-02-2017 19:51:02 estuve verificando pero no me resulto. le comento:
grafica
grafica.php
reporte
reporte1.php
cuando ingreso ya logeandome en( http://localhost/websistem/homem.php
en el menu esta de la siguiente manera:
<li class=""> <a href="#" class="dropdown-toggle"> <i class="menu-icon fa fa-th"></i> <span class="menu-text"> General </span> <b class="arrow fa fa-angle-down"></b> </a> <b class="arrow"></b> <ul class="submenu"> <li class=""> <a href="grafica/grafica.php"> <i class="menu-icon fa fa-caret-right"></i> Graficas </a> <b class="arrow"></b> </li> </ul> </li> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ <li class=""> <a href="#" class="dropdown-toggle"> <i class="menu-icon fa fa-street-view"></i> <span class="menu-text"> Reportes </span> <b class="arrow fa fa-angle-down"></b> </a> <b class="arrow"></b> <ul class="submenu" > <li class=""> <a href="reporte/reporte1.php"> <i class="menu-icon fa fa-caret-right"></i> Reporte 1 </a> <b class="arrow"></b> </li> </li>
hice segun lo que me indico :
sin embargo si lo haces como
<a href="/grafica/grafica.php"> (notese el / al inicio) deberia de resolver correctamente. http://example.com/grafica/grafica.php
cuando hago clic en grafica no me muestra sale error, igual para los demas
por favor me podrian ayudar gracias por todo Votos: 0 - Link respuesta -
Fecha: 28-02-2017 22:50:18 Hola Joel:
A la vista de lo que expones y viendo que te da error al ir a la raíz para localizar la carpeta grafica (/grafica/grafica.php), cabe entender que la carpeta grafica no está en la raíz sino al mismo nivel que la carpeta reporte (comentas que grafica/grafica.php === aqui es que tengo problem cuando hago clic en grafica me busca asi: reporte/grafica/grafica.php ).
Prueba simplemente a subir un nivel en el enlace para entrar en la carpeta que está al mismo nivel:
../grafica/grafica.php
- Salgo de la carpeta reporte con ../
- Entro en la carpeta grafica con grafica
- Llego al archivo con grafica.php
Saludos. Votos: 3 - Link respuesta -
Fecha: 01-03-2017 06:42:36 diculpe no logro comprender si pongo asi: ../grafica/grafica.php me botara a la carpeta principal del host del xamp, Votos: 0 - Link respuesta
-
Fecha: 01-03-2017 08:51:57 Joel: lo que nos manda a la raíz es "/".
"../" nos envía a la carpeta padre.
Vamos a ver si me explico:
Supongamos que la raíz se llama myweb.com.
En ella tengo diversas carpetas: images, provehedores, clientes, ...
Dentro de clientes tengo otras carpetas como pueden ser reporte, grafica, ...
La ruta absoluta para llegar a reporte1.php sería: http://myweb.com/clientes/reporte/reporte1.php
Para llegar a grafica1.php sería: http://myweb.com/clientes/grafica/grafica1.php
Si, como te decía Abraham, ponemos <a href="/grafica/grafica.php">, nos daría error ya que nos envía a la raíz (http://myweb.com/grafica/grafica1.php) porque grafica es una subcarpeta de clientes y no está en la raíz (lo correcto sería llegar a <a href="http://myweb.com/clientes/grafica/grafica.php">.
Abraham te lo explicaba bien suponiendo que las carpetas reporte y gráfica estuviesen en la raiz. Pero creo que no es tu caso.
El error que mostrabas era que te decía en la llamada a reporte/grafica/grafica.php, que tampoco existe, ya que la carpeta grafica no es una subcarpeta de reporte sino que está al mismo nivel La carpeta padre de ambas es clientes.
Lo que te proponía yo es <a href="../grafica/grafica.php">: esto es, si estamos en la carpeta reporte, voy a la carpeta padre que es clientes para entrar en la subcarpeta grafica.
Explicado desde rutas absolutas, desde <a href="http://myweb.com/clientes/reporte/reporte1.php"> paso a la carpeta padre clientes para entrar en la subcarpeta grafica: <a href="http://myweb.com/clientes/grafica/grafica.php"> Con rutas relativas, utilizo <a href="../grafica/grafica.php">
Creo haberme explicado. Votos: 3 - Link respuesta -
Fecha: 02-03-2017 08:06:39 en mi caso es las rutas son:
http://myweb.com/sistema/reporte/reporte1.php
http://myweb.com/sistema/grafica/grafica.php
y si ingreso primero a grafica me mandara al capeta raiz Votos: 0 - Link respuesta -
Fecha: 09-03-2017 10:02:43 Hola Joel,
Por qué simplemente no pones todas las rutas absolutas ? Votos: 1 - Link respuesta -
Fecha: 13-03-2017 19:06:09 elemental mi querido Joel, el problema se resume a la configuración del servidor web activo, en este caso la configuración de apache del hosting en donde tienes instalada la aplicación, mi recomendación es que comiences a utilizar urls absolutas y no relativas, generalmente los proveedores de host, tienen restringido este tema para mayor seguridad, la solución ya la han estado dando algunos de los colegas, pero creo que no ha aflorado debidamente, simplemente crea una constante en el index.php, con el valor de la url del sitio principal y la concatenas con las diferentes carpetas o ubicaciones que necesitas, esto te permitirá poder confiar en un valor absoluto y por tanto urls absolutas, espero esto pueda ser de utilidad para resolver tu problema, saludos desde Guatemala. Votos: 1 - Link respuesta
-
Fecha: 14-03-2017 03:33:31 Hola a todos, sumando a los comentarios sobre "utilizar urls absolutas", aquí te dejo un ejemplo de como puedes configurar tu constante "BASE_URL" para concatenar con tus urls relativas.
Veamos:
define('BASE_URL', 'http://' . $_SERVER['SERVER_NAME'] . '/');
Luego al momento de utilizarla, puedes hacer algo tan simpre como:
<a href="<?php echo BASE_URL;?>sistema/grafica/grafica.php">Clic para ver la gráfica</a>
Saludos y buen código! Votos: 2 - Link respuesta -
Fecha: 23-03-2017 16:12:47 Buenos noches disculpe, Fernando, una consulta este pate del codigo lo copia asi tal como esta:
define('BASE_URL', 'http://' . $_SERVER['SERVER_NAME'] . '/');
Gracias por su respuesta Votos: 0 - Link respuesta -
Fecha: 24-03-2017 03:09:23 Hola Joel, no comprendo tu pregunta (?), básicamente lo que hace esa línea de código es definir una constante que será tu base para todas tus URL.
Saludos y buen código! Votos: 0 - Link respuesta -
Fecha: 24-03-2017 16:50:45 Hola Fernando, Disculpe en mi caso lo tengo asi: http://localhost:8080/sistemas/, como seria en ese caso, de ante mano le agradezco por tu tiempo y respuesta gracias Votos: 0 - Link respuesta
-
Fecha: 25-03-2017 05:57:11 JOEL
Buenas tardes
Decis:
Menus
reporte/reporte.php
grafica/grafica.php === aquí es que tengo problema, cuando hago clic en grafica me busca así: reporte/grafica/grafica.php
Esta claro que tenes una CARPETA "reporte" que contiene el archivo reporte.php y la CARPETA "grafica", que a su vez, esta dentro de esta ultima donde se encuentra el archivo grafica.php
Cosa que expones al decir que al hacer clic sale la siguiente ruta: reporte/grafica/grafica.php
EJEMPLO:
CARPETA reporte contiene 2 elementos
Elemento 1.- archivo = reporte.php
Elemento 2.- carpeta = grafica
El Elemento 2.- CARPETA
A su vez, contiene
archivo = grafica.php
Como podes apreciar, la carpeta grafica, esta dentro de la carpeta reporte:
Si lo que pretendes es que la carpeta grafica este en el mismo nivel que la carpeta reporte, solo debes sacar la carpeta grafica de allí y subirla un nivel ... eso es todo, allí grafica, estará en el mismo nivel que reporte
* En consecuencia obtendrás como resultado:
1.- reporte/reporte.php
2.- grafica/grafica.php
* Si dejas todo como esta, obtendras:
1.- reporte/reporte.php
2.- reporte/grafica/grafica.php
Suerte con el trabajo.
Votos: 0 - Link respuesta -
Fecha: 25-03-2017 06:01:34 Hola Joel, para tu caso puntual puedes definir la constante de la suigente forma:
define('BASE_FOLDER', 'sistemas'); define('BASE_PORT', '8080'); define('BASE_URL', 'http://' . $_SERVER['SERVER_NAME'] . ':' . BASE_PORT . '/' . BASE_FOLDER . '/');
O de una forma más simple (haciendo un hardcode):
define('BASE_URL', 'http://localhost:8080/sistemas/');
Saludos y buen código! Votos: 0 - Link respuesta -
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión