Foros del Web » Programando para Internet » PHP »

Problemas con el convertidor de numero a texto

Estas en el tema de Problemas con el convertidor de numero a texto en el foro de PHP en Foros del Web. Tengo un problema, tengo un código en donde hace consulta la una tabla en una BD como una opción le coloque header('location:../inicio.php?enc=no'); para que cuando ...
  #1 (permalink)  
Antiguo 29/09/2010, 16:30
 
Fecha de Ingreso: octubre-2006
Ubicación: Ciudad Ojeda, Venezuela
Mensajes: 123
Antigüedad: 13 años
Puntos: 0
Problemas con el convertidor de numero a texto

Tengo un problema, tengo un código en donde hace consulta la una tabla en una BD como una opción le coloque header('location:../inicio.php?enc=no'); para que cuando no consiguiera la consulta este se devolviera a la pagina donde se realiza la consulta de búsqueda, en si todo funciona pero ahora se me ha presentado el resultado y dentro de eso resultado hay que interpretar en letras una cantidad de números X tengo un código php que me transforma de números a letras, bien cuando hago la consulta y no hay ningún registrado me muestra este error:

Cita:
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\sedemat\LISTO\intranet\config\ln.ph p:510) in C:\AppServ\www\sedemat\LISTO\intranet\inmueble\sed e\consulta\pagina01.php on line 17
Este error solo se muestra cuando no se consigue la consulta en cambio cuando hay una resultado me muestra los datos normalmente y sin problemas

Al principio pensé que tenia problemas con ECHO: header('location:../inicio.php?enc=no'); que es la linea 17

Haciendo pruebas elimine la siguiente linea: include('../../../config/ln.php'); y todo funciono y pues resulta que ln.php es el código que uso para representar de numero a letras.

Alguien me podría ayudar a conseguir alguna solución

aquí este al código:

Código PHP:
<?php
session_start
();
include(
'../../../config/ln.php');
require_once(
'../../../config/config.php');
?>
<?php
$conexion
=mysql_connect(DB_HOSTDB_USERDB_PASSWORD) or
die(
"Problemas en la conexion");
mysql_select_db(DB_DATABASE,$conexion) or
die(
"Problemas en la selección de la base de bd_inmueble");
$registros=mysql_query("select * from casa where id='$_REQUEST[id]'",$conexion) or
die(
"Problemas en el select:".mysql_error());
if (
$reg=mysql_fetch_array($registros))
{
}
else
header('location:../inicio.php?enc=no');
mysql_close(); 
?>
  #2 (permalink)  
Antiguo 29/09/2010, 16:42
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 3 meses
Puntos: 1532
Respuesta: Problemas con el convertidor de numero a texto

investiga un poco más sobre el error que posteas, es el más común de todos, el mismo se debe a que no puedes volcar datos a la salida del script antes de llamar a header, el error está antes, verifica que no esté saliendo un warning antes.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/09/2010, 16:49
 
Fecha de Ingreso: mayo-2008
Mensajes: 9
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problemas con el convertidor de numero a texto

Yo te recomiendo que mejor crees una función que maneje redirects y envíe headers al hacer el redirect. En esta función puedes poner ob_clean() eso limpia el buffer y aunque hayas enviado ya headers los borra.
Para ello es bueno que tengas un objeto abstracto de funciones estáticas. Yo tengo uno así y la función que uso para el redirect es:

Código PHP:
Ver original
  1. /**
  2.      * Método que hace un redirect y envía un header de error
  3.      *
  4.      * @param string $url
  5.      * @param int $errNum
  6.      */
  7.     public static function redirect($url = null, $errNum = nul) {
  8.         ob_clean ();
  9.         if ($url !== null) {
  10.             if ($errNum) {
  11.                 $errNum = ( int ) $errNum;
  12.                 switch ($errNum) {
  13.                     case 301 :
  14.                         header ( "HTTP/1.1 301 Moved Permanently" );
  15.                         break;
  16.                     default :
  17.                         break;
  18.                 }
  19.             }
  20.             header ( 'location: ' . $url );
  21.             exit ();
  22.         } else {
  23.             header ( 'location: /' );
  24.             exit ();
  25.         }
  26.     }

Solo tiene ahorita un error 301 porque es el único que vaya usando, pero conforme vaya usando los demás lo ire aumentando... puedes usarla de base.
Si no la usas dentro de un objeto solo quitale el public static

Etiquetas: convertidor, numero
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 05:37.