Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/07/2006, 14:29
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por pato_volador
Ese mesaje te sale por que estas mandando a pantalla "esta seria la linea 17"
Jejejeeje... recuerda que para que funcione un header NO DEBE existir ningunt tipo de salida a pantalla antes que el... ni un echo ni de html

saludos
No es tan "obvio" entre otras cosas por qué no señalas la línea en concreto que es la "17" .. (el foro no numera líneas y tu eres quien debes facilitar un poco la cosa para el que pretenda ayudarte).

También el código hace mención a otros códigos que "inserta" en ese mismo y no vemos que hacen estos .. Tal vez ahí esté el problema (no es el caso por qué el mensaje de error dice textualmente donde y en que script en ese caso): seleccion_emp1.php línea 9

El problema que tienes como te han mencionado es de "envio de salida" antes de funciones como header() o session_start().

Sobre el código que presentas .. Esto no tiene sentido si te fijas como funciona realmente una redirección y cual es su objetivo:

Con un "header()" (función que envia cabeceras HTTP al cliente) de tipo "Location" (de redirección) le indicas al navegador en este caso que "cambie" la página que está viendo (que se cambie a tal URL) .. Supuestamente en ese punto de ejecución de nuestro script PHP ya no nos insteresa que se ejecute nada más de código PHP . .por ende podemos hacer un "exit" y terminar la ejecución del script en ese punto y así evitarnos la mayor parte de juego de "if .. .else .. elsefi..." que haces.

Por otro lado te resultaría más claro usar

switch() en lugar de tus "if .. else .. elseif ...".

Código PHP:
session_start(); 
if(isset(
$_POST['aceptar'])){ 
   require(
'../class_usuario_emp.php'); 
   
$class_usuario_emp = new class_usuario_emp(); 
   
$valor $class_usuario_emp->existe_usuario($_POST['_usuario']); 
   
   if (
$valor){
      switch(
$_GET['pro']){
         case 
"modificar":
             
$_SESSION['usuario'] = $_POST['_usuario']; 
             
header('Location: modificar_usuario_emp1.php'); 
             exit;
          break;

          case 
"eliminar":
              
$_SESSION['usuario'] = $_POST['_usuario']; 
              
header('Location: eliminar_usuario_emp1.php'); 
              exit;
          break;
    
         default:
            
// caso por defecto ..
      
}
    } else {
       
header ("Location: errores.php");
       exit; 
    }
  } else {
     
header ("Location: errores.php");
     exit;

Fijate que el código queda bastante más ordenado, fácil de seguir y natural ...
(No sé si me abré dejado algún cierre de algún if() .. pero esa es la idea)

Este tipo de scripts de proceso NO debería de tener nada más de "HTML" por médio .. no le corresponde a este script mostrar mensajes de error ni de exito .. eso lo debes hacer en las páginas/scripts que redireccionas ante tal error o mensaje que dar en general.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.