Foros del Web » Programando para Internet » PHP »

Espacios en blanco en respuesta consulta

Estas en el tema de Espacios en blanco en respuesta consulta en el foro de PHP en Foros del Web. Hola Veamos, un código tan sencillo como este @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original <?php $nombre = $_POST [ "nom" ] ;   include ( ...
  #1 (permalink)  
Antiguo 10/07/2010, 13:50
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Espacios en blanco en respuesta a la consulta

Hola

Veamos, un código tan sencillo como este
Código PHP:
Ver original
  1. <?php
  2. $nombre = $_POST["nom"];
  3.  
  4. include($_SERVER["DOCUMENT_ROOT"]."/ink_utiles/ink_comunesbd.inc.php");  
  5. $bd = new ClassConexionBD('database');
  6. $bd->ConexionBD();
  7.  
  8. $sql = $bd->consulta("SELECT nombre FROM Usuarios WHERE nombre = '".$nombre."'");
  9.  
  10. if($bd->RS($sql)>0){  
  11.     while($registros = $bd->arreglo($sql)){  
  12.         echo $registros["nombre"]. '<br />';
  13.     }
  14. } else {
  15.  
  16. echo 'hola';
  17. }
  18. $bd->limparRS($sql);
  19. $bd->limpiarCon();
  20. ?>
se recibe el valor de un campo, hago el filtrado por ese campo. Si la consulta trae registros, se muestran. Si no genera resultados entonces se imprime "hola", pues no, y he aquí el problema, se imprime " hola" con dos espacios. Necesito saber donde se generan y eliminarlos. Esto no es un caso real. En el caso real, usando AJAX, no se enviaría nada. Digo esto por que la respuesta no es usar Trim()

Gracias
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Última edición por Adler; 12/07/2010 a las 06:17
  #2 (permalink)  
Antiguo 10/07/2010, 13:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Espacios en blanco en respuesta consulta

Trata no usando la etiqueta de cierre ?>. Cuando el código es PHP puro no es necesario usar la etiqueta de cierre y asegúrate que no tengas espacios en la primera etiqueta.

Edito:
Mira lo que dice este comentario del libro Zend PHP 5 Certification
Cita:
Newline Characters

It is important to remember that every character outside of PHP tags is copied as-is
by the interpreter to the script’s output—and this includes newline characters.
Newlines are, normally, ignored by browsers, as they are non-semantic characters
in HTML. However, they are also used as separators between the header portion of
a web server’s HTTP response and the actual data; therefore, outputting a newline
character before all of the headers have been written to the output can cause some
rather unpleasant (and unintended) consequences. To mitigate this problem, the
first newline directly after a closing tag (?> only) is stripped by the parser. Doing so
also solves a problem introduced by the fact that a number of popular text editors
will automatically prepend a newline to the end of your file, thus interfering with
include files which are not supposed to output any text

An easy way to prevent spurious output from an include file is to omit the closing tag
at the end, which the parser considers this perfectly legal.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 10/07/2010 a las 14:05
  #3 (permalink)  
Antiguo 10/07/2010, 14:25
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Espacios en blanco en respuesta consulta

Me llevaba de cabeza el put* script. Eres pura magia, colega
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 10/07/2010, 14:36
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Espacios en blanco en respuesta consulta

Te recomiendo que consigas ese manual, te ayudará a comprender muchos detalles de lo que hace PHP en el background.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: blanco, espacios, respuesta
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:34.