elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Error: Header may not contain ...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error: Header may not contain ...  (Leído 6,675 veces)
Yekka

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Error: Header may not contain ...
« en: 19 Diciembre 2008, 04:11 am »

Hola, eso,  por que se produce ese error al enviar para metros  usando los header, me pasa solo en los archivos que reciben contenido de textarea, al devolver el valor al formulario de donde proviene

Citar
Warning: Header may not contain more than a single header, new line detected. in ....... line 132...

Agradezco cualquier ayuda, para solucionarlo  de momento, no envió parámetros con los header, pero necesito hacer unos de ellos.

hasta luego...


En línea

LuffyFF


Desconectado Desconectado

Mensajes: 754


Final Fantasy XIII


Ver Perfil WWW
Re: Error: Header may not contain ...
« Respuesta #1 en: 19 Diciembre 2008, 10:51 am »

Deberías pegar el código que tengas en la linea 132.

Pero ese error, pueden ser varias cosas, que tengas una cabecera, como header, y tengas una URL con espacios, o saltos de linea.

Por ejemplo...
esto esta mal
Citar
header("Location: http://www.paginaweb.com/indice de paginas.php");
esto también esta mal
Citar
header("Location: http://www.paginaweb.com/indice
 de paginas.php"
);

Si vas a poner URLs con espacios, tendrías que hacerle un urlencode, o cambiar los espacios por %20, o +.

Seguramente el valor del textarea lleva espacios, o algún carácter malo, y luego se usa una cabecera para redirección, o cookie, lo que sea. Pero si es una cabecera usando header para redirigir, que no tenga espacios ni saltos de linea. También antes de las cabeceras no tiene que haber HTML, aunque te saltaría otro error.

Te recomiendo hacerle un urlencode, o la función que necesites al valor del textarea.

La verdad no sé muy bien, porque no haz dado demasiados detalles. Pero me huele a que es por algún espacio.

Sino puedes usar una redirección en JS, o HTML.


En línea

Yekka

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: Error: Header may not contain ...
« Respuesta #2 en: 19 Diciembre 2008, 14:27 pm »

Hola, gracias por responder!!

Si,  he leído lo de los espacios, en eso soy muy cuidadosa, lo que si es cierto, es que puede  suceder que el usurario  utilice varios saltos de línea en los textareas, en ese caso no se como tratarlo. Lo extraño es que me daba el error aunque ese objeto estuviera vació, lo solucione con la función que me recomendaste.

no lo hago con java script, porque he intentado enviar mas de un valor por url como parámetro y no me lo acepta, solo uno.

Hay alguna función que me cambie los espacios y saltos de línea por esos caracteres que dices? --> %20.o+  y después decodificarlo? a ver si aunque el usuario los use  no tenga el problema o ya con el urlencode y decode se soluciona totalmente?

gracias de nuevo!!!!
En línea

LuffyFF


Desconectado Desconectado

Mensajes: 754


Final Fantasy XIII


Ver Perfil WWW
Re: Error: Header may not contain ...
« Respuesta #3 en: 19 Diciembre 2008, 14:40 pm »

Citar
Hay alguna función que me cambie los espacios y saltos de línea por esos caracteres que dices? --> %20.o+  y después decodificarlo? a ver si aunque el usuario los use  no tenga el problema o ya con el urlencode y decode se soluciona totalmente?
Con el urlencode cambiarías los espacios a HTML. Luego con el urldecode lo puedes decodificar. Para los saltos de lineas, podrías remover los saltos de línea.

Un ejemplo sería así:
Citar
$url $_POST['url'];
$url str_replace(array("\r\n""\r""\n"), ""$url);
$url urlencode($url);

De esta forma, remplazamos los saltos de linea (\r\n \r \n) por nada, y luego encodeamos la URL.

$url comenzaría siendo el campo recibido por el formulario.

Lo de los espacios, el mismo urlencode se encarga de ello, al igual que los acentos, ñ, etc.
En línea

Yekka

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: Error: Header may not contain ...
« Respuesta #4 en: 19 Diciembre 2008, 17:44 pm »

aaa ok!! gracias!!

Como necesito que esos saltos de lineas esten cuando se muestre el contenido nuevamente, entonces lo mas fiable seria no reemplazarlos por nada, sino, reemplazarlos por algun otro caracter para agregarlos nuevamente.

Para mostrar una idea de lo que hago, Pag1.html envio el contenido de los campos por submit a pag2.php, este valida y en caso de error  llama a header enviando los datos de vuelta a pag1 para cargarlos en los campos correspondientes, por eso necesito esos saltos de linea nuevamente, para que se muestre de una manera mas amena y no todo en una sola linea.

Gracias ya me has ayudado bastante, hare otras preguntas pero no tienes que responder si no lo deseas, ¿que opinas de esa forma de trabajar? ¿crees qque esta bien como lo hago o hay mejores formas?

gracias por todo,  :-*
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines