Foros del Web » Programando para Internet » PHP »

Problema Urgente (Warning:Cannot modify header information - headers already sent by)

Estas en el tema de Problema Urgente (Warning:Cannot modify header information - headers already sent by) en el foro de PHP en Foros del Web. Hola Amigos :) Bueno tengo un problema, resulta y pasa que tengo un script ke he creado pero no me crea una cookie que necesito ...
  #1 (permalink)  
Antiguo 20/02/2010, 16:53
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Exclamación Problema Urgente (Warning:Cannot modify header information - headers already sent by)

Hola Amigos :)

Bueno tengo un problema, resulta y pasa que tengo un script ke he creado pero no me crea una cookie que necesito y me vota este warning:

Warning: Cannot modify header information - headers already sent by (output started at directorio/archivo.php:3) in directorio/archivo.php on line 67

el archivo es el siguiente:

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <style>
  4. .button
  5. {
  6.     background: #a05c10 url(img/gradient_tcat.gif) repeat-x top left;
  7.     color: #FFFFFF;
  8.     font: 11px verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
  9.     border: 1px solid #a05c10;
  10. }
  11. .bginput
  12. {
  13.     background: #000000;
  14.     color: #f7c49c;
  15.     font: 9pt verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
  16.     border: 1px solid #1f1f1f;
  17. }
  18.  
  19. </style>
  20. </head>
  21. <body bgcolor="202020" OnContextMenu="return false">
  22. <?php
  23. $clave=$_POST["clave"];
  24. $claveb="videos";
  25. if (isset($_COOKIE["claveacceso"])){
  26.     $cookie=$_COOKIE["claveacceso"];
  27.     $clavedecodificada=base64_decode($cookie);
  28.     if($clavedecodificada==$claveb)
  29.         {
  30.             $url = $_POST["url"];
  31.             if(isset($url))
  32.                 {
  33.                     $dominio = parse_url($url, PHP_URL_HOST);
  34.                     if($dominio=="megavideo.com")
  35.                         {
  36.                             $codigo = substr($url,24,8);
  37.                             echo '<center><embed src="http://www.megavideo.com/v/'.$codigo.'" type="application/x-shockwave-flash" allowfullscreen="true" width="423" height="290"></embed></center>';
  38.                         }
  39.                     elseif($dominio=="www.megavideo.com")
  40.                         {
  41.                             $codigo = substr($url,28,8);
  42.                             echo '<center><embed src="http://www.megavideo.com/v/'.$codigo.'" type="application/x-shockwave-flash" allowfullscreen="true" width="423" height="290"></embed></center>';
  43.                         }
  44.                     else
  45.                         {
  46.                             echo "<center><font color='FFFFFF'>Url Del Video a visualizar:</font><br><form method='POST'><input name='url' class='bginput'><br><br><input type='submit' value='Entrar' class='button'></form></center>";
  47.                         }
  48.                 }
  49.             else
  50.                 {
  51.                     echo "<center><font color='FFFFFF'>Url Del Video a visualizar:</font><br><form method='POST'><input name='url' class='bginput'><br><br><input type='submit' value='Entrar' class='button'></form></center>";
  52.                 }
  53.         }
  54.     else
  55.         {
  56.             echo "<center><font color='FF0000'>Verifique Que ha Escrito Bien Su Clave De Acceso</font><br><form><input type='button' value='Atras' onclick='window.history.back()' class='button'></form></center>";
  57.         }
  58. }
  59.    
  60. else
  61.     {
  62.         if(isset($clave))
  63.             {
  64.                 if($clave==$claveb)
  65.                     {
  66.                         $clavecodificada=base64_encode($claveb);
  67.                         setcookie('claveacceso','$clavecodificada');
  68.                         echo "<center><font color='FFFFFF'>Url Del Video a visualizar:</font><br><form method='POST'><input name='url' class='bginput'><br><br><input type='submit' value='Entrar' class='button'></form></center>";
  69.                         }
  70.                 else
  71.                     {
  72.                         echo "<center><font color='FF0000'>Verifique Que ha Escrito Bien Su Clave De Acceso</font><br><form><input type='button' value='Atras' onclick='window.history.back()' class='button'></form></center>";
  73.                     }
  74.             }
  75.         else
  76.             {
  77.                 echo "<center><font color='FFFFFF'>Clave de Acceso</font><br><form method='POST'><input name='clave' class='bginput'><br><br><input type='submit' value='Acceder' class='button'></form></center>";
  78.             }
  79.     }
  80. ?>
  81. </body>
  82. </html>

Bueno si ven la linea 67 es:

Código PHP:
Ver original
  1. setcookie('claveacceso','$clavecodificada');

que debo hacer para que me cree la cookie y que ademas funcione el archivo ?

Tambien tengo otra pregunta como puedo hacer para darle varios valores a la variable $claveb, osea ahora mismo tengo:

Código PHP:
Ver original
  1. $claveb="videos";

como hago para que esta misma variable pueda tener diferentes valores ademas de videos, tales como: videos1, videos2,carcel,cantar,etc....

Espero puedan ayudarme gracias :).
  #2 (permalink)  
Antiguo 20/02/2010, 16:58
Avatar de Gulinaidas  
Fecha de Ingreso: febrero-2010
Ubicación: La Plata, ARG
Mensajes: 88
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

Hola....tu problema "
Warning: Cannot modify header information - headers already sent by (output started at directorio/archivo.php:3) in directorio/archivo.php on line 67" tiene q ver especificamente con que no puede haber texto HTML ni espacios como vos tenes antes de la especificacion q haces en el Header()......, ese problema se resuelve moviendo todo el HTML q tenes al principio de tu pagina....

Saludos
  #3 (permalink)  
Antiguo 20/02/2010, 17:01
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

Como quedaria el codigo ?

es que ya intente algo asi pero no funciono :S

si puedes decirme como me quedaria el codigo estaria bien Gracias.
  #4 (permalink)  
Antiguo 20/02/2010, 17:13
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

El código quedaría de cualquier forma en lo que lo primero que aparezca sean los headers y punto. Nada más-
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #5 (permalink)  
Antiguo 20/02/2010, 17:16
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

En realidad el problema son las cookies... No se si habras leido el manual al respecto...

No podes hacer esto:

Código PHP:
echo "hola";
setcookie("tuCookie",$valor); // warning 
__________________
HV Studio
Diseño y desarrollo web
  #6 (permalink)  
Antiguo 20/02/2010, 17:16
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

y que puedo hacer para arreglar el codigo como lo dejo ?

Gracias :)
  #7 (permalink)  
Antiguo 20/02/2010, 17:24
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

Y fijate si tenes por ahi algo como el ejemplo que te puse, o algun header() puesto de a misma forma, corregilo y listo...
__________________
HV Studio
Diseño y desarrollo web
  #8 (permalink)  
Antiguo 20/02/2010, 17:27
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

si ya ley pero no veo que echo es el que esta causando el problema :S
  #9 (permalink)  
Antiguo 20/02/2010, 17:33
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

No se de que hablas la verdad...
Esta linea
Código PHP:
Ver original
  1. setcookie('claveacceso','$clavecodificada');
No es interpretada como esperas, las comillas simples no interpretan codigo, deberias usar las dobles en todo caso... Pero en esa linea en particular, no hacen falta comillas en el segundo parametro...

El problema esta en que estas enviando informacion a las cabeceras antes de setar la cookie...

Saca TODO el html y css que tengas antes del setcookie() y listo...
__________________
HV Studio
Diseño y desarrollo web
  #10 (permalink)  
Antiguo 20/02/2010, 17:50
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Exclamación Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

Lo he dejado asi y no funciona:

Código PHP:
Ver original
  1. <?php
  2. $clave=$_POST["clave"];
  3. $claveb="videos";
  4. if (isset($_COOKIE["claveacceso"])){
  5.     $cookie=$_COOKIE["claveacceso"];
  6.     $clavedecodificada=base64_decode($cookie);
  7.     if($clavedecodificada==$claveb)
  8.         {
  9.             $url = $_POST["url"];
  10.             if(isset($url))
  11.                 {
  12.                     $dominio = parse_url($url, PHP_URL_HOST);
  13.                     if($dominio=="megavideo.com")
  14.                         {
  15.                             $codigo = substr($url,24,8);
  16.                             echo '<center><embed src="http://www.megavideo.com/v/'.$codigo.'" type="application/x-shockwave-flash" allowfullscreen="true" width="423" height="290"></embed></center>';
  17.                         }
  18.                     elseif($dominio=="www.megavideo.com")
  19.                         {
  20.                             $codigo = substr($url,28,8);
  21.                             echo '<center><embed src="http://www.megavideo.com/v/'.$codigo.'" type="application/x-shockwave-flash" allowfullscreen="true" width="423" height="290"></embed></center>';
  22.                         }
  23.                     else
  24.                         {
  25.                             echo "<center><font color='FFFFFF'>Url Del Video a visualizar:</font><br><form method='POST'><input name='url' class='bginput'><br><br><input type='submit' value='Entrar' class='button'></form></center>";
  26.                         }
  27.                 }
  28.             else
  29.                 {
  30.                     echo "<center><font color='FFFFFF'>Url Del Video a visualizar:</font><br><form method='POST'><input name='url' class='bginput'><br><br><input type='submit' value='Entrar' class='button'></form></center>";
  31.                 }
  32.         }
  33.     else
  34.         {
  35.             echo "<center><font color='FF0000'>Verifique Que ha Escrito Bien Su Clave De Acceso</font><br><form><input type='button' value='Atras' onclick='window.history.back()' class='button'></form></center>";
  36.         }
  37. }
  38.    
  39. else
  40.     {
  41.         if(isset($clave))
  42.             {
  43.                 if($clave==$claveb)
  44.                     {
  45.                         $clavecodificada=base64_encode($claveb);
  46.                         setcookie("claveacceso",$clavecodificada);
  47.                         echo "<center><font color='FFFFFF'>Url Del Video a visualizar:</font><br><form method='POST'><input name='url' class='bginput'><br><br><input type='submit' value='Entrar' class='button'></form></center>";
  48.                         }
  49.                 else
  50.                     {
  51.                         echo "<center><font color='FF0000'>Verifique Que ha Escrito Bien Su Clave De Acceso</font><br><form><input type='button' value='Atras' onclick='window.history.back()' class='button'></form></center>";
  52.                     }
  53.             }
  54.         else
  55.             {
  56.                 echo "<center><font color='FFFFFF'>Clave de Acceso</font><br><form method='POST'><input name='clave' class='bginput'><br><br><input type='submit' value='Acceder' class='button'></form></center>";
  57.             }
  58.     }
  59. ?>

No se si el html de los echo que hay en los otros condicionales tambien incumbe pero asi como esta sigue generando el error.

Gracias.
  #11 (permalink)  
Antiguo 20/02/2010, 18:20
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

nadie me puede ayudar ?
  #12 (permalink)  
Antiguo 20/02/2010, 18:25
Avatar de Gulinaidas  
Fecha de Ingreso: febrero-2010
Ubicación: La Plata, ARG
Mensajes: 88
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

SI eso seguro.....si x algun motivo esta imprimiento HTML antes de q el header t redireccione t va a salir error......T doy una alternativa para redireccionar con JavaScript

Código PHP:
<script type="text/javascript"
    
window.location="../Formularios/mipagina.php"
</script> 
Saludos
  #13 (permalink)  
Antiguo 20/02/2010, 18:27
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

no estoy redireccionando con nada :S

no redirecciono la web a ningun lugar.
  #14 (permalink)  
Antiguo 20/02/2010, 18:28
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

el problema esta en que la cookie no se crea.
  #15 (permalink)  
Antiguo 20/02/2010, 18:56
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

parece que nadie me puede ayudar. :S
  #16 (permalink)  
Antiguo 20/02/2010, 19:00
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

Me parece que no estamos entendiendo....
A ver mira esta parte nomas

Código PHP:

if($dominio=="megavideo.com")

                        {

                            
$codigo substr($url,24,8);

                            echo 
'<center><embed src="http://www.megavideo.com/v/'.$codigo.'" type="application/x-shockwave-flash" allowfullscreen="true" width="423" height="290"></embed></center>';

                        }

                   elseif(
$dominio=="www.megavideo.com")

                        {

                            
$codigo substr($url,28,8);

                            echo 
'<center><embed src="http://www.megavideo.com/v/'.$codigo.'" type="application/x-shockwave-flash" allowfullscreen="true" width="423" height="290"></embed></center>';

                        }

                    else

                        {

                            echo 
"<center><font color='FFFFFF'>Url Del Video a visualizar:</font><br><form method='POST'><input name='url' class='bginput'><br><br><input type='submit' value='Entrar' class='button'></form></center>";

                        }

                }

            else

                {

                    echo 
"<center><font color='FFFFFF'>Url Del Video a visualizar:</font><br><form method='POST'><input name='url' class='bginput'><br><br><input type='submit' value='Entrar' class='button'></form></center>";

                }

        }

    else

        {

            echo 
"<center><font color='FF0000'>Verifique Que ha Escrito Bien Su Clave De Acceso</font><br><form><input type='button' value='Atras' onclick='window.history.back()' class='button'></form></center>";

        }


Si te esta imprimiendo algo de ahi, ahi tenes el error

Ademas, para aclarar nomas, todos los colores hexadecimales, van antepuestos con un '#'
__________________
HV Studio
Diseño y desarrollo web
  #17 (permalink)  
Antiguo 20/02/2010, 19:17
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

u.u no me habia dado cuenta de los colores :S :p


bueno ya pude solucionar me toco cambiar todo el codigo y hacerlo denuevo....
  #18 (permalink)  
Antiguo 20/02/2010, 19:23
 
Fecha de Ingreso: enero-2010
Mensajes: 113
Antigüedad: 14 años, 3 meses
Puntos: 2
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

que me dices de lo otro que pregunte ?

Código PHP:
Ver original
  1. $claveb="videos";

de colocar varios valores a una variable ya que ahora tengo: videos.

quisiera colocarle: videos,anuncios,carcel,etc....

osea tener varias contrasenas pero desde la misma variable, no quiero hacerlo con mysql por eso lo hago asi.
  #19 (permalink)  
Antiguo 21/02/2010, 08:50
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema Urgente (Warning:Cannot modify header information - headers alrea

O no entiendo que necesitas, o no sabes lo que tenes que hacer...

Código PHP:
$clave 'algo';
$clave .= ', otro algo';
$clave .= ', mas algo!'
Porque decis "no quiero usar mysql" ?? Queres persistir los datos entre algunos programas?
__________________
HV Studio
Diseño y desarrollo web

Etiquetas: header, modify
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 18:20.