Foros del Web » Programando para Internet » PHP »

require_once me genera un espacio en blanco en el html.

Estas en el tema de require_once me genera un espacio en blanco en el html. en el foro de PHP en Foros del Web. buenas, quisiera pedirles ayuda a ver si me pueden solucionar este error que me tiene desquiciado: El error es, que en index uso una funcion ...
  #1 (permalink)  
Antiguo 08/01/2011, 16:34
 
Fecha de Ingreso: julio-2010
Mensajes: 34
Antigüedad: 13 años, 9 meses
Puntos: 0
require_once me genera un espacio en blanco en el html.

buenas, quisiera pedirles ayuda a ver si me pueden solucionar este error que me tiene desquiciado:
El error es, que en index uso una funcion para leer plantillas, y me genera un vacio arriba.
imagen (donde la linea roja)->


El index.php tiene un require a config.php hasta hay bien, pero luego el config añade más requires, eh hay el problema, son requires a funciones aparte, y si quito todos esos requires, se soluciona, pero si dejo tan solo 1 no, da igual cual quite que conbinacion haga ect.

os dejo el codigo de las paginas fundamentales:

Index.php
Código PHP:
<?php
require_once('inc/config.php');
echo 
plantillas('header');


echo 
plantillas('footer');
?>
Config.php
Código PHP:
<?php 
$path 
$_SERVER['PHP_SELF'];
$path str_replace("\\","/",dirname($path));

$_SERVER['PHP_SELF'] = str_replace("/","",$_SERVER['PHP_SELF']);
$_SERVER['PHP_SELF'] = str_replace(".php","",$_SERVER['PHP_SELF']);
define ("url","http://".$_SERVER['SERVER_NAME']);
define ("root"$_SERVER['DOCUMENT_ROOT'].$path);

define ("MSProyect","MSProyect|MSComunity|MSNetwork");
define ("dbconexion",mysql_connect('localhost','root','root'));
mysql_select_db("msc",dbconexion);

require_once(
root."/inc/func/func_replace.php");
require_once(
root.'/inc/func/func_verif_user.php');
require_once(
root.'/inc/func/func_verif_grupo.php');
require_once(
root.'/inc/func/func_lenguajes.php');
require_once(
root.'/inc/func/func_plantillas.php');
require_once(
root.'/inc/func/func_plugins.php');
#------------------------------------------------------#
#id = id del usuario;                                   #
#user = nombre del usuario                               #
#lang = idioma del  '';                                   #
#grupo = grupo del  '';                                   #
#admincp = sí tiene acceso a admincp el usuario;       #
#tema = Tema/skin/theme del usuario;                   #
#usuario = sí esta registrado;                           #
#images = ruta a la carpeta de imagenes del tema       #
#------------------------------------------------------#
echo verif_user();
echo 
verif_grupo();
echo 
lenguaje();

mysql_close();


?>
Func_plantillas.php
Código PHP:
<?php

if(!defined('MSProyect'))
header("location:"."http://".$_SERVER['SERVER_NAME']); }

function 
plantillas($splantilla)
{

global 
$error;

    if( 
defined('tema') && usuario == 'si')
    { 
$tema tema; }
    elseif(isset(
$_COOKIE['tema']))
    { 
$tema replace($_COOKIE['tema']); }
    else
    {
        
$query mysql_query("SELECT * FROM config",dbconexion);
        while(
$datos mysql_fetch_array($query))
        {
$tema $datos['tema'];}
    }
        
$query mysql_query("SELECT * FROM temas WHERE tema = '".$tema."'",dbconexion);
        while(
$datos mysql_fetch_array($query))
        {
$tema_dir $datos['carpeta'];}
    
define("images",url .'/inc/temas/' .$tema_dir);
    
$tema_ruta=root.'/inc/temas/' .$tema_dir;
    
$dir=dir($tema_ruta);     

        
$plantillas = array();
        while (
$file $dir->read())
        {
            if ((
$file != '.') and ($file != '..') and ($file != 'index.html'))
                {
                
$file explode('.',$file);
                
$plantillas[] = $file[0];
                }
        }
    
$dir->close(); 

        if (
in_array($splantilla$plantillas)) {
        require_once(
root.'/inc/temas/'.$tema_dir.'/'$splantilla'.php');
        }else{
            if(isset(
$error)){
            
$error $error.'<br>';
            }
            
$error 'hubo un problema y no se encontro la plantilla' ;
        }
}    


?>
Header.php ( plantillas )
Código PHP:
<?php
if(!defined('MSProyect'))
header("location:"."http://".$_SERVER['SERVER_NAME']); }

?>

<html>
<head>

</head>
<body style="width:100%; height:100%; margin:0;">
<div style="width:100%; height:50px; background: url(http://localhost/inc/temas/default/images/bg.png) repeat-x; top;"></div>
require_once(root."/inc/func/func_replace.php");
require_once(root.'/inc/func/func_verif_user.php');
require_once(root.'/inc/func/func_verif_grupo.php');
require_once(root.'/inc/func/func_lenguajes.php');
require_once(root.'/inc/func/func_plantillas.php');
require_once(root.'/inc/func/func_plugins.php');


esto es lo que me esta "jorobando", sí no quito los 6 no se va el espacio, y si vacio (elimino el contenido de esos archivos) sigue estando el espacio, solo se va si quito esas 6 lineas -.-" espero que me ayudeis, gracias y saludos.
  #2 (permalink)  
Antiguo 09/01/2011, 00:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: require_once me genera un espacio en blanco en el html.

Asi como en header.php tienes una linea en blanco entre ?> y <html>, seguramente en algun otro de esos archivos incluidos tienes espacios o lineas en blanco que te ocasionan el problema.

Si al final de tu php tienes ?> y despues espacios o saltos de linea, esos son suficientes para causar este tipo de problemas.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 09/01/2011, 05:22
 
Fecha de Ingreso: julio-2010
Mensajes: 34
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: require_once me genera un espacio en blanco en el html.

no es eso, aparte, sí quito esos 6 requires se soluciona, si dejo 1 sea cual sea de esos 6 no se soluciona, y si cojo los archivos que pido con el require, y quito todo, dejo el archivo sin letras ni nada, sigue el error.

gracias por ayudar.
  #4 (permalink)  
Antiguo 09/01/2011, 12:43
 
Fecha de Ingreso: julio-2010
Mensajes: 34
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: require_once me genera un espacio en blanco en el html.

ya esta solucionado, era como estaba codificado el archivo, en utf8 me daba el error y en ansi no o.o... bueno... que le vamos a hacer el sabra, gracias por la ayuda ^^
  #5 (permalink)  
Antiguo 06/11/2014, 05:29
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: require_once me genera un espacio en blanco en el html.

Yo tenia hace un momento este mismo problema y me estaba volviendo LOCO revisando el código!
Tras una búsqueda por Google di con este tema, y como bien se comenta en el anterior post, es problema de la codificación.

No era mi intención revivir el post (que ya tiene añitos), pero lo considero conveniente dado que hay poca info al respecto y cuesta encontrar la solución... pero lo revivo sobre todo para dar una respuesta correcta!

Si teneis el archivo codificado con UTF8 os generara este espacio en blanco...
Si lo codificáis en ANSI ya no tendreis el problema del espacio, pero seguramente tenais un nuevo problema; el de los acentos!
La solución optima es codificarlo en UFT8 Sin BOM
Con el NOTEPAD++ simplemente clicais en "codificacion" y la seleccionais...

Saludos!
__________________
Follow me on twitter @franbedia

Etiquetas: blanco, espacio, html
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:31.