Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] header no envia y si añado ob_start no verifica

Estas en el tema de header no envia y si añado ob_start no verifica en el foro de PHP en Foros del Web. Hola, Tengo un formulario que envia a si mismo con form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" Intento verificar con php y si todo está correcto reenviar con ...
  #1 (permalink)  
Antiguo 09/01/2014, 03:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
header no envia y si añado ob_start no verifica

Hola,
Tengo un formulario que envia a si mismo con form action="<?php echo $_SERVER['SCRIPT_NAME'];?>"
Intento verificar con php y si todo está correcto reenviar con un header a otra página.
El código abajo funciona, es decir verifica correctamente pero no envia el header.
Entonces puse ob_start(); al inicio de página antes de session_start(); y termina el php con ob_end_flush();
Añadiendo el ob_start reenvia perfectamente pero ya no hace la verificación.
No lo entiendo.
Gracias
Código PHP:
  if (isset($_POST['enviar'])){
if (!empty(
$_POST['percentage']) && !empty($_POST['terms'])) {
    if (
$salida $llegada){         
          }
//end if salida mayor
           
else {echo "texto aqui"; }
 }
//end if empty
else { echo "texto aqui"; }
    
header("Location: bookinginstant2.php");
    }
//end if enviar formulario
      
else { 
  #2 (permalink)  
Antiguo 09/01/2014, 19:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header no envia y si añado ob_start no verifica

El principal problema es que header() requiere que no imprimas nada antes, y eso es justamente lo que haces.

Cita:
No lo entiendo.
Lo entenderías perfectamente si leyeras el manual para comprender las implicaciones de lo que utilizas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 11/01/2014, 02:50
 
Fecha de Ingreso: mayo-2009
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 6
Respuesta: header no envia y si añado ob_start no verifica

Cita:
Iniciado por pateketrueke Ver Mensaje
El principal problema es que header() requiere que no imprimas nada antes, y eso es justamente lo que haces.



Lo entenderías perfectamente si leyeras el manual para comprender las implicaciones de lo que utilizas.
Lo sé, pero muchas veces es muy dificil no imprimir nada y lo que no entendia era porque ya no validaba al añadir ob_start para que ejecutara el header, pero en fin está resuelto ya. Gracias
  #4 (permalink)  
Antiguo 11/01/2014, 09:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header no envia y si añado ob_start no verifica

Cita:
Lo sé, pero muchas veces es muy dificil no imprimir nada [...]
Es suena a mal hábito, claro que es fácil no imprimir nada antes de usar header(), session_start(), etc.

La idea principal es diseñar un flujo lógico adecuado, eso de ir improvisando sin tomar en cuenta esto es poco efectivo.

Muchas veces uno cree que para colocar valores (imprimirlos) en ciertas partes de nuestro HTML hay que meter el código ahí mismo, pero eso está equivocado, hay muchas técnicas para procesar la lógica mucho antes de comenzar a imprimir algo.

El patrón MVC es una de estas técnicas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: header
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 00:56.