Foros del Web » Programando para Internet » PHP »

PHP que se muestra como HTML

Estas en el tema de PHP que se muestra como HTML en el foro de PHP en Foros del Web. Buen dia! Tengo un problema, estoy trabajando con una busqueda, cuando muestra la página de resultados, me muestra la pagina como HTML y no como ...
  #1 (permalink)  
Antiguo 04/07/2008, 01:58
 
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 74
Antigüedad: 16 años, 8 meses
Puntos: 0
Exclamación PHP que se muestra como HTML

Buen dia!

Tengo un problema, estoy trabajando con una busqueda, cuando muestra la página de resultados, me muestra la pagina como HTML y no como PHP (no reconoce mis include, require... etc, por lo tanto las variables que tengo en esos archivos no cargan).

Que puede estar pasanso?

Espero sus comentarios, gracias!!!

Saludos cordiales.
  #2 (permalink)  
Antiguo 04/07/2008, 03:17
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 19 años, 2 meses
Puntos: 19
Respuesta: PHP que se muestra como HTML

¿Y tienes otras páginas/scripts PHP que si se cargan bien?

¿Qué extension tiene la página de resultados?
  #3 (permalink)  
Antiguo 04/07/2008, 03:24
 
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 74
Antigüedad: 16 años, 8 meses
Puntos: 0
Exclamación Respuesta: PHP que se muestra como HTML

Si, todo carga bien, la extension es php y nada.

El código que hay en mi search.php es este:

Código PHP:
<?php
function strong($text$content$long)
{
    
$begin strpos($text$_GET["q"]);
    
$end   $begin strlen($_GET["q"]);
    
    
$begin $long $begin_cut $begin-$long $begin_cut=0;
    
$end $long strlen($text) ? $end_cut $end $long $end_cut strlen($text);
    
    
$strong  htmlspecialchars(substr($content$begin_cut$begin-$begin_cut));
    
$strong .= '' htmlspecialchars(substr($content$begin$end-$begin)) . '';
    
$strong .= htmlspecialchars(substr($content$end$end_cut-$end));
    
    
$end_cut strlen($text) ? $strong .= '...' $strong;
    
$begin_cut $strong='...' $strong $strong;

    return 
$strong;
}

/* Read the configuration file */
if (file_exists("search.ini.php")) {
    include(
"search.ini.php");
} else {
    die (
'Configuration file missing.');    
}

/* Read the template file */
if (!empty($template) and file_exists($template)) {
    
$template file_get_contents($template);
} else {
    die (
'Template file or file name missing.');    
}

/* Parse the template */
$begin_template substr($template0strpos($template'<!--SearchResultsBegin-->'));
$file_template  substr($templatestrpos($template'<!--SearchResultsBegin-->') + 25strpos($template'<!--SearchResultsEnd-->')-(strpos($template'<!--SearchResultsBegin-->') + 25));
$end_template   substr($templatestrpos($template'<!--SearchResultsEnd-->') + 23);

/* Check the GET variable */
if (isset($_GET["q"])) {

    
/* Clear any html tags from string */
    
$_GET["q"] = strip_tags($_GET["q"]);

    
/* Clear quotes */
    
$_GET["q"] = str_replace('"'''stripslashes($_GET["q"]));

    
/* Replace especial characters */
    
if (is_array($chars)) {
        
$_GET["q"] = str_replace(array_keys($chars), array_values($chars), strtolower($_GET["q"]));
    }

    
/* Set the variables */
    
$results    '';
    
$result     0;
    
$abstract_length = ($abstract_length strlen($_GET["q"])) / 2;
    
    
/* Read the directory */
    
$files opendir('.');
    while (
false != ($file=readdir($files))) {
        
        
/* Check if file is a html file */
        
if (eregi('(htm|html)$'$file)) {
            
            
/* Read the file content */
            
$content file_get_contents($file);
            
            
/* Obtain the documment title */
            
$title substr($contentstrpos ($content'<title>') + 7);
            
$title substr($title0strpos ($title'</title>'));
            
            
/* Parse the content for search content */
            
$content substr($contentstrpos ($content'<!--SearchAreaBegin-->') + 22);
            
$content substr($content0strpos ($content'<!--SearchAreaEnd-->'));
            
$content strip_tags($content);
            
$content html_entity_decode($content);
            if (
is_array($chars)) {
                
$text=str_replace(array_keys($chars), array_values($chars), strtolower($content));
            }
            
            
/* Search the string in the content */
            
if (ereg($_GET["q"], $text)) {
                
$replace['<!--FileTitle-->']    = $title;
                
$replace['<!--FileName-->']     = $file;
                
$replace['<!--FileAbstract-->'] = str_replace('\r\n'' 'strong($text$content$abstract_length));
                
                
$results .= str_replace(array_keys($replace), array_values($replace), $file_template);
                
$result++;
            }
        }
    }
    
    
/* Create a result message */
    
if ($result==0) {
        
$message $noResults;
    } else {
        eval(
"\$message = \"$yesResults\";");
    }
} else {
    
$message $noString;
}

/* Join the documment parts and send it to browser */
$results $begin_template $results $end_template;
$results str_replace('<!--Results-->'$message$results);

echo 
$results;
?>

Gracias anticipadas!
  #4 (permalink)  
Antiguo 04/07/2008, 03:30
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 19 años, 2 meses
Puntos: 19
Respuesta: PHP que se muestra como HTML

Hablabas de includes/requires en plural, pero yo sólo veo uno.

Te falla porque no te carga el 'search.ini.php' ?
  #5 (permalink)  
Antiguo 04/07/2008, 03:37
 
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 74
Antigüedad: 16 años, 8 meses
Puntos: 0
Exclamación Respuesta: PHP que se muestra como HTML

search.ini.php:

Código PHP:
<?php
$template 
'resultados.php';
$abstract_length 350;
$noResults  'Su búsqueda no produjo ningun resultado.<br /><br /><strong>Sugerencias:</strong><ul><li>Asegúrese de que todas las palabras estén escritas correctamente.</li><li>Intente usar otras palabras.</li><li>Intente usar palabras específicas.</li></ul>';
$yesResults 'Se encontraron <strong>$result</strong> coincidencias.';
$noString   'Por favor ingrese una palabra para buscar';
?>
Y resultados.php es mi "plantilla" alli incluyo los resultados de la busqueda, alli tengo include y/o require para cargar mi header y menu, que son los que no cargan y me aparecen como un html normal, cuando cargo la pagina (resultados.php) de una forma directa cargan todos mis include(). Me imagino que el problema es con el search.php que es el que lo convierte a HTML

Saludos.

Última edición por elfopower; 04/07/2008 a las 03:58
  #6 (permalink)  
Antiguo 04/07/2008, 04:17
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 19 años, 2 meses
Puntos: 19
Respuesta: PHP que se muestra como HTML

Entonces, entiendo que dentro de la plantilla tienes includes y/o requires. Si es así, es normal que no te los interprete.
Lo que deberías hacer es obtener los datos que quieres mostrar y pasárselos a la plantilla. No llamar a los datos desde la plantilla.
  #7 (permalink)  
Antiguo 04/07/2008, 09:43
 
Fecha de Ingreso: marzo-2008
Ubicación: Guatemala
Mensajes: 74
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: PHP que se muestra como HTML

Por que no los interpreta?
Cómo podria pasar los datos a la plantilla?

Saludos.
  #8 (permalink)  
Antiguo 07/07/2008, 03:06
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 19 años, 2 meses
Puntos: 19
Respuesta: PHP que se muestra como HTML

Quizás me expresé mal.

Por un lado debes obtener los datos. Luego, tienes que meter esos datos en la plantilla. Normalmente, se hace mediante substituciones de cadenas.
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:07.