Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Error en la creacion de sessions (https://www.clubdelphi.com/foros/showthread.php?t=12857)

RainFall 29-07-2004 15:58:27

Error en la creacion de sessions
 
hola amigos



<?php
session_start();
session_register("usuario");
$usuario="lsl";
?>
<html>
<body>
<form action="pagina2.php">
<input type="HIDDEN"
NAME="<?php echo session_name()?>"
VALUE="<?php echo session_id()?>">
<input type="submit" name="boton">
</form>


</body>
</html>


este codigo funciona en algunos internet explorer y en otros no generando un error:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\archivos de programa\apache group\apache\htdocs\sessions\pag1.php:2) in c:\archivos de programa\apache group\apache\htdocs\sessions\pag1.php on line 2
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\archivos de programa\apache group\apache\htdocs\sessions\pag1.php:2) in c:\archivos de programa\apache group\apache\htdocs\sessions\pag1.php on line 2



Agradesco su Colaboracion.

roman 29-07-2004 20:24:13

Pues es muy raro. Este error no debería tener que ver nada con el navegador. De hecho ningún error que genere php tiene que ver con el navegador ya que se produce del lado del servidor y no del cliente (el navegador).

A juzgar por tu código no parece que hagas nada mal. Sólo asegúrate que no hay absolutamente nada antes de la etiqueta inicial <?php, ni siquiera espacios o líneas en blanco.

// Saludos

salvica 30-07-2004 10:46:42

Creo que antes de registrar una variable de sesión, debes de inicializarla.
Intenta cambiar el código a:
Código PHP:

      session_start();
      
$usuario "lsl";
      
session_register("usuario"); 

Por lo menos, yo lo hago así y no me da problemas
Saludos

kayetano 02-08-2004 11:17:54

Hola

Para iniciar una session debes hacerlo al principio, sin haber mostrado nada en el nvaegador, aunque el error que describes es un poco sorprendente mira si has dejado espacios delante de "<?" o lineas en blanco o algo por el estilo.

Lo único que se me ocurre para lo que te pasa es que un navegador carge desde la cache y el otro no.

jachguate 02-08-2004 18:05:43

Cita:

Empezado por kayetano
Lo único que se me ocurre para lo que te pasa es que un navegador carge desde la cache y el otro no.

Si uno de los navegadores cargara del cache... el servidor no ejecutaría (para esa carga) ningún código php... :rolleyes:

Hasta luego.

;)

kayetano 03-08-2004 07:20:28

Hola

No entiendo tu respuesta jachguate.
Yo me refiero a que si en un navegador le da error y en otro no, es posible que uno carge desde la cache una versión que no de el error y el otro navegador no. Pienso yo, aunque lo veo muy estraño.
Ignoro el significado de tu respuesta, pero la verdad ultimamente te veo muy quisquilloso.

jachguate 03-08-2004 08:23:52

Cita:

Empezado por kayetano
No entiendo tu respuesta jachguate.

Hola kayetano.

Cita:

Empezado por kayetano
Yo me refiero a que si en un navegador le da error y en otro no, es posible que uno carge desde la cache una versión que no de el error y el otro navegador no. Pienso yo, aunque lo veo muy estraño.

Habrá que saber si alguna vez el script funcionó sin errores... de lo contrario sería imposible que hubiera una copia en cache. De cualquier forma a lo que me refería, es que al existir en cache... nunca se generaría el código php del servidor... con lo que, para efectos de solucionarlo... no tiene relevancia.

Cita:

Empezado por kayetano
Ignoro el significado de tu respuesta, pero la verdad ultimamente te veo muy quisquilloso.

No es nada personal... regularmente cuestiono los puntos que me parece que son ambiguos o pueden dar lugar a confusiones... aunque respeto siempre tus respuestas (como las de todos) y valoro en mucho tu desinteresada participación en los foros (como las de todos los que participan respondiendo).

Si nos hemos encontrado en esta situación mas de una vez..... supongo que será una simple casualidad.... no te enojes, que al final, lo que todos pretendemos, es que se resuelva la cuestión, y quede un historial de respuestas claras, desde el punto de vista de la mayoría, (incluyendo el tuyo y el mio).

Hasta luego.

;)

roman 03-08-2004 08:27:27

Lo que dice jachguate yo lo entiendo así: un mensaje de error como los que se indican se produce del lado del servidor de manera que no hay forma de que el navegador mismo presente tal mensaje sino se generó previamente en el servidor.

Sin embargo, aunque parezca contradictorio, estoy de acuerdo con kayetano en este punto porque si en un momento dado el servidor genera el error, tal mensaje aparece al navegador como un texto cualquiera de manera que, en una posterior carga desde el caché, se carga con todo y el texto del error. Aunque, claro está, la segunda vez tal texto no lo produce el servidor sino que sale del caché.

El punto fundamental aquí es que necesariamente el error tuvo que generarse inicialmente en el servidor por lo que- y pongo mi mano en el fuego por esto -no es posible que en unos navegadores se produzca y en otros no.

La única forma en que veo que algo así pueda parecer que sucede es, como dice kayetano (creo), que se origina el error por espacios en blanco antes del envío de headers y después, aun habiendo modificado el script, el navegador no hace la petición al servidor sino que carga del caché, el cuál aún contiene el texto del mensaje de error.

// Saludos

jachguate 03-08-2004 08:35:04

Cita:

Empezado por jachguate
Habrá que saber si alguna vez el script funcionó sin errores... de lo contrario sería imposible que hubiera una copia en cache

Cita:

Empezado por roman
si en un momento dado el servidor genera el error, tal mensaje aparece al navegador como un texto cualquiera de manera que, en una posterior carga desde el caché, se carga con todo y el texto del error. Aunque, claro está, la segunda vez tal texto no lo produce el servidor sino que sale del caché.

ups.. román.. tenes toda la razón.. :o :o

La situación puede darse en ambas vias. Que la página sin error esté almacenada en el cache, o que la página con error esté almacenada en el cache... no me habia percatado de ello.

Cita:

Empezado por roman
El punto fundamental aquí es que necesariamente el error tuvo que generarse inicialmente en el servidor por lo que- y pongo mi mano en el fuego por esto -no es posible que en unos navegadores se produzca y en otros no.

Cuando sea grande.. quiero aprender a decir las cosas como vos... :D :D

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 09:52:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi