Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: DeXon18 en 15 Abril 2011, 16:22 pm



Título: Problemas al mostrar lo que esta en php
Publicado por: DeXon18 en 15 Abril 2011, 16:22 pm
Hola amigos, hace mucho que no me paso por aqui... Pero a lo que venia, encontrado este curioso sistema  y funciona de lujo pero encuentro un problema, en las paginas que tiene lo que pongo en php no lo muestra e probado de mil y una forma pero nada

Sistema
http://tutorialzine.com/2009/09/simple-ajax-website-jquery/

Código
  1. if(file_exists(‘pages/page_’.$page..php’))
  2. echo file_get_contents(‘pages/page_’.$page..php’);

Codigo cambiado para que muestre en PHP las extensiones.

Pero nada de contenido como comentaba. Alguna idea?

Gracias de antemano ;)


Título: Re: Problemas al mostrar lo que esta en php
Publicado por: [u]nsigned en 15 Abril 2011, 18:09 pm
1. Creo que en lugar de usar commilas simples ('), estas usando estas usando comillas especiales (no se el nombre xD). Fijate que las que estan en tu codigo estan como inclinadas. Para sacarte esa duda directamente podes usar comillas dobles (".

2. Podrias hacer:

Código
  1. if(file_exists('pages/page_'.$page.'.php') or die("No existe la pagina page_" . $page))
  2. {
  3.   $cadena = file_get_contents('pages/page_'.$page.'.php')or die("No se pudo leer la pagina page_" . $page);
  4.   echo $cadena;
  5. }
  6.  

Para estar seguro en que parte se produce el error ;)

Saludos


Título: Re: Problemas al mostrar lo que esta en php
Publicado por: DeXon18 en 16 Abril 2011, 13:07 pm
nsigned, gracias por la respuesta, probe y nada, asi que encontre esto

Código
  1. function ajaxFunction() {
  2.  var xmlHttp;
  3.  
  4.  try {
  5.  
  6.    xmlHttp=new XMLHttpRequest();
  7.    return xmlHttp;
  8.  } catch (e) {
  9.  
  10.    try {
  11.      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  12.      return xmlHttp;
  13.    } catch (e) {
  14.  
  15.  try {
  16.        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  17.        return xmlHttp;
  18.      } catch (e) {
  19.        alert("Tu navegador no soporta AJAX!");
  20.        return false;
  21.      }}}
  22. }
  23. function Enviar(_pagina,capa) {
  24.    var ajax;
  25.    ajax = ajaxFunction();
  26.    ajax.open("POST", _pagina, true);
  27.    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  28.  
  29.    ajax.onreadystatechange = function() {
  30. if (ajax.readyState==1){
  31. document.getElementById(capa).innerHTML = "<div class=\"loading\"><img src=\"secciones/portada/images/ajax_load.gif\" width=\"16\" height=\"16\" alt=\"Cargando\" /> Cargando datos...</div>";
  32.     }
  33. if (ajax.readyState == 4) {
  34.  
  35.                document.getElementById(capa).innerHTML=ajax.responseText;
  36.     }}
  37.  
  38. ajax.send(null);
  39. }

Por si alguno le ayuda

Salu2


Título: Re: Problemas al mostrar lo que esta en php
Publicado por: WHK en 17 Abril 2011, 07:18 am
Código:
document.getElementById(capa).innerHTML=ajax.responseText; 

Código:
   $cadena = file_get_contents('pages/page_'.$page.'.php')or die("No se pudo leer la pagina page_" . $page);
   echo $cadena;

vee el código fuente generado con javascript en tu web, vee el DOM con firebug y verás que si funciona bién, te apuesto que el problema es que no se ve por los tags <?php ?> ya que eso no se interpreta en html, intenta utilizar carácteres de escape, imprime mejor desde php nl2br(htmlspecialchars($contenido, 'html'));

Si lo que quieres es ver la web entonces hazle include y no file get contents ya que eso obtiene el código fuente del php pero no lo ejecuta, include si lo ejecuta, pero ten cuidado con el lfi, por ejemplo que tal si alguien como página te pide ./../../config.ph donde están las contraseñas de la db y cosas asi?.