Foros del Web » Programando para Internet » PHP »

volver a una pagina desde un script

Estas en el tema de volver a una pagina desde un script en el foro de PHP en Foros del Web. Hola ya he hablado sobre el tema pero no encontre solucion, es sobre la utilizacion del HEADER, en el servidor web donde tengo alojada mi ...
  #1 (permalink)  
Antiguo 05/12/2006, 04:37
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 6 meses
Puntos: 1
Pregunta volver a una pagina desde un script

Hola ya he hablado sobre el tema pero no encontre solucion, es sobre la utilizacion del HEADER, en el servidor web donde tengo alojada mi pagina no me funciona dicha funcion y no se por que, me dijeron que antes del header no puede haber nada ni printf, ni echo , ni consultas... entonces como hago para volver a otra pagina cuando termina el script??
Por ejemplo, tengo un formulario (insertar.php) que le envia los datos a dicho script (procesar.php) cuando el script termina de comprobar los datos e insertarlos en la base de datos quiero que vuelva a la pagina del formulario (insertar.php), este es el codigo de procesar.php

Código PHP:
<?php 

        
include("conex.php"); 
       
$link=Conectarse(); 
       
$titulo=$_POST['titulo']; 
       
$categoria=$_POST['categoria']; 
       
$comentario=$_POST['comentario'];
       
//Variable para saber si se produce algun error
       
$error=0;
      
    
        
// Guarda las caracteristicas de la imagen
        //nombre_archivo=al directorio y al nombre que quieres que se guarde la foto
        
$nombre_archivo "img/".$_FILES['imagen']['name']; 
        
//tipo_archivo= a la extension del archivo en nuestro caso solo aceptamos imagenes (jpg, gif y png)
        
$tipo_archivo $_FILES['imagen']['type'];
        
// tamano_archivo= Almacena el tamaño del archivo en bytes
        
$tamano_archivo $_FILES['imagen']['size']; 
        
//compruebo si las características del archivo son las que deseo 
        
if($nombre_archivo!='img/'){
        if (!((
strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 200000))) { 
          
//el tamaño o la extension del archivo no son correctas se pone error=1
          
$error=1;

                         
        }else{ 
        if (
move_uploaded_file($_FILES['imagen']['tmp_name'], $nombre_archivo)){
         
// El archivo ha sido cargado con éxito     
           
        
        
}else{ 
        
//No se ha podido guardar el archivo en el servidor error=2
        
$error=2;
               
         } 
       }
       }
           
// Comprueba si tiene algun error
               
if ($error==1){
            echo 
"<script> alert (\"El archivo no debe tener un tamaño superior a 200 KB y deber ser JPG o GIF\"); </script>";
            echo 
"<script language=Javascript> location.href=\"insertar.php\"; </script>";
            die(); }
            elseif (
$error==2){
            echo 
"<script> alert (\"No se ha podido guardar la imagen en el SERVIDOR \"); </script>";
            echo 
"<script language=Javascript> location.href=\"insertar.php\"; </script>";
            die(); 
            }
            
//si no hay errores se inserta en la TABLA
            
else{
            
mysql_query("insert into peliculas (titulo,categoria,comentario,imagen) values ('$titulo','$categoria','$comentario','$nombre_archivo')");   
           
             
               }
        
header ("Location: ./insertar.php");
              exit;        
?>
Alguna idea de por que no funciona?? O donde colocar el Header?

GRACIAS
  #2 (permalink)  
Antiguo 05/12/2006, 12:01
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Para no mostrar ni printar nada veo muchos echo's.
Este tipo de paginas de procesado no tienen que mostrar nada por pantalla. Lo normal, es guardar el resultado en una variable de sesión y luego comprobarla en el fichero destino (el del header).

Un saludo
  #3 (permalink)  
Antiguo 05/12/2006, 14:09
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 6 meses
Puntos: 1
ya funciona el problema no esta en los echo, era en la forma de conectarme a la base de datos, yo lo hacias mediante un script y ahora me conecto directamente y asi si ke va!!
  #4 (permalink)  
Antiguo 05/12/2006, 22:23
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 4 meses
Puntos: 11
Igual tienes que aprender esto: No puedes dar ninguna salida al navegador del cliente si después quieres enviar un header.

Primero van los headers y despues las salidas al navegador (que puede ser un echo o un simple espacio después del cierre de etiqueta ?>).

Saludos
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 07:41.