Comunidad de diseño web y desarrollo en internet online

Error con Session_start();

Citar            
MensajeEscrito el 06 May 2008 02:48 pm
Amigos me gustaria saber si alguno de ustedes me puede explicar como poder solucionar este error que me esta dando con las sesiones

Código :

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\helicopteros_de_guatemala\server_images\capturafoto.php:1) in C:\wamp\www\helicopteros_de_guatemala\server_images\capturafoto.php on line 2
 


Gracias de antemano por la ayuda

Por erickm

Claber

101 de clabLevel



Genero:Masculino  

d=ddondsea ;0)

firefox
Citar            
MensajeEscrito el 06 May 2008 02:57 pm
Fijate de no tener un archivo con esta función, incluyendo (include) a otro archivo que tiene esta función también allí seteada.
Archivo 1
[code]

<?
session_start();

include(archivo2.php);
?>

Archivo 2
[code]

<?
session_start();

echo 'Esto producirá el error...';
?>

[/code]

Ya me contarás.

Exitos.

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 06 May 2008 03:17 pm
Gracias Necrophasto:

Te comento tengo un archivo que se llama login que es donde mi usuario se registra este envia la informacion del usuario y lo verifica en mi base de datos para ver si el usuario existe si exite crea la sesion con

<?php
session_start();
$_SESSION['usuario'] = $_POST['usuario'];
?>

dentro de esta pagina donde valida el usuario esta un menu donde tengo varias opciones en donde necesito que si el usuario se registre bien le mande a otras paginas que tambien son protegidas con una session_start pero el problema me da ahi cuando quiero abrir la otra pagina si la abre pero con ese error que te comente anterior mente este es el codigo que estoy ingresando para este mismo

<?php
session_start();
if ($_SESSION['usuario']){
}else{
print "Por favor registrese";
print "<meta http-equiv=refresh content=0;URL=login.php>";
}
?>

Gracias por la ayuda te lo agradezco mucho

Por erickm

Claber

101 de clabLevel



Genero:Masculino  

d=ddondsea ;0)

firefox
Citar            
MensajeEscrito el 06 May 2008 03:30 pm
Entonces... ¿Lo has solucionado?

En ese otro caso, también deberías quitar la linea

print "<meta http-equiv=refresh content=0;URL=login.php>"

Ya que estás metiendo un META, fuera de los HEAD. Esto no es válido.
Si quisieses "redireccionar" o "refrescar" la página en x tiempo, lo puedes hacer con JS. Googlea: Javascript setTimeout()

Insisto, comentame si lo solucionaste... ;)

Exitos!

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 06 May 2008 03:34 pm
Perdon, fijate que me sigue dando el mismo error y ya revise y no tengo ningun include unicamente un requiere

Por erickm

Claber

101 de clabLevel



Genero:Masculino  

d=ddondsea ;0)

firefox
Citar            
MensajeEscrito el 06 May 2008 04:50 pm
Ok, veamos:

#1- Quita, como mencioné en mi post anterior, la linea:

print "<meta http-equiv=refresh content=0;URL=login.php>";

... y reemplazala por un redirect en JS.

#2- Dices que no tienes ningún "include", sino que un "require". Si el archivo que tiene la función require, tiene session_start(), se la dejas... y sí el archivo "requerido", también tiene session_start(); se la quitas.
No es necesario que llames a session_start() desde un archivo.php cuando esta función fué inicializada en la pagina.php que ejecuta el require.

Código :

<?
#archivo1.php
session_start();
require('archivo2.php');
?>

<?
#archivo2.php
session_start(); #esta linea produciria la alerta
echo 'Contenido de archivo2.php';
?>



Espero sea claro y se te solucione.

Sí esto no da solución entonces te pediré que me digas el contenido de la linea 2 "capturafoto.php".

Saludos

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 06 May 2008 05:04 pm
Buenisimo ahi estamos gracias por la ayuda y en la linea dos unicamente tenia la session_start();, era ahi donde me estaba dando el problema pero con esta solucion esta mas que bien gracias Necrophasto, espero poder ayudarte yo algun dia.

Por erickm

Claber

101 de clabLevel



Genero:Masculino  

d=ddondsea ;0)

firefox
Citar            
MensajeEscrito el 06 May 2008 05:06 pm
Necrophasto, para hacer una redirección siempre que puedas, evita js. Solventarás dos problemas: que el cliente no tenga javascript y google no te penalizará (redirecciones 301, 302,...).

En php se hace con: header('location: url');

Esto ya mete una redirección 302 temporal. Si se quiere una 301, se debe agregar algo más de texto.

Por marcosdev

593 de clabLevel

7 tutoriales

 

firefox
Citar            
MensajeEscrito el 06 May 2008 06:02 pm
marcosdev, gracias por el tip. Desconocía de lo que mencionas.
Mi consulta, ahora, no recuerdo bien, ¿PHP no dice "warning" sí ya envíe <head></head> y antes de header(); ubico texto?

Es decir,

Código :


<html>
<head>
</head>
<body>
Será redirigido...
<?
header('location:url');
?>
</body>
</html>



No recuerdo si me pasó, o leo por lógica, que esto generaría un "warning - headers already sent"...

Pero lo que comentas de redireccionar con JS, desconocía. Gracias.

Erickm, un gusto poder ayudarte!

Exitos.

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 06 May 2008 07:12 pm
no importa que pongas ningún tipo de texto de redireccionamiento. Es instantáneo. Sólo escribe la parte de php. Todo el resto sobra.

Bye! :)

Por marcosdev

593 de clabLevel

7 tutoriales

 

firefox
Citar            
MensajeEscrito el 06 May 2008 07:52 pm
Ahora que lo mencionan, el colocar un header despuès de los encabezados de html, si arroja un warning, para ello existen un par de funciones en php que limpian el bùfer y evitan que se emita el error.

Colocar el header no provocarà nigún error siempre y cuando este declarado antes de los encabzados de html.

Por cris_dpa

35 de clabLevel



Genero:Masculino  

México

firefox
Citar            
MensajeEscrito el 08 May 2008 09:06 pm
Como comentario por lo que tengo entendido la sesion se tiene crear al inicio del archivo.-

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.