Foros del Web » Programando para Internet » PHP »

[Ayuda] Problema con sesiones

Estas en el tema de [Ayuda] Problema con sesiones en el foro de PHP en Foros del Web. tengo un login y tengo algunos fallos con el autentificar sesión: Cita: Warning: session_register() [function.session-register]: Cannot send session cookie - headers already sent by (output ...
  #1 (permalink)  
Antiguo 31/05/2010, 13:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 8
Antigüedad: 14 años, 1 mes
Puntos: 0
Exclamación [Ayuda] Problema con sesiones

tengo un login y tengo algunos fallos con el autentificar sesión:
Cita:
Warning: session_register() [function.session-register]: Cannot send session cookie - headers already sent by (output started at /var/www/vhost/x-ti.es/home/html/games/index.php:9) in /var/www/vhost/x-ti.es/home/html/games/includes/login.php on line 18

Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at /var/www/vhost/x-ti.es/home/html/games/index.php:9) in /var/www/vhost/x-ti.es/home/html/games/includes/login.php on line 18

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhost/x-ti.es/home/html/games/index.php:9) in /var/www/vhost/x-ti.es/home/html/games/includes/login.php on line 25
Linea 18:
Código PHP:
session_register("nombre"); //registramos la variable usuario que contendrá el nick del user 
Aclaración:
$_SESSION[nombre] = $ok["nombre"]; //damos el nick a la variable usuario de
y de hay sacamos lo de session_register("nombre");

Linea 25:
Código PHP:
Header("Location: index.php"); //volvemos al login donde nos saldrá nuestro menú de usuario 
Un saludo y gracias si necesitan mas información pídanla
  #2 (permalink)  
Antiguo 31/05/2010, 14:09
 
Fecha de Ingreso: agosto-2009
Mensajes: 70
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: [Ayuda] Problema con sesiones

que versión de PHP usas?
no se mucho
pero para trabajar con sesiones, siempre hago así:

primero q nada

Código PHP:
Ver original
  1. session_start(); //Esto creo q carga el array $_session
  2.  
  3. // luego lo que debes hacer es ir agregando claves al arreglo:
  4.  
  5. $_SESSION['nombre']=$ok['nombre'];
  6. Header("Location: index.php"); //volvemos al login donde nos saldrá nuestro menú de usuario

luego, en index.php:

Código PHP:
Ver original
  1. session_start(); // siempre esta fución.
  2. if (isset($_SESSION['nombre'])) {
  3. if ($_SESSION('nombre')==$loquesea) {
  4. // aquí pones lo que debe entregar PHP si el usuario está registrado correctamente
  5. } else { Header("Location: login.php"); // redirecciona u otra acción si el registro no es correcto
  6. }
  7. }

bueno, espero que te sirva..

Saludos..
  #3 (permalink)  
Antiguo 02/06/2010, 14:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 8
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: [Ayuda] Problema con sesiones

Solucionado gracias :D
me faltaba poner:
Código PHP:
Ver original
  1. session_cache_limiter('nocache,private');

Ahora me da error otro error:
Cita:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhost/x-ti.es/home/html/games/index.php:14) in /var/www/vhost/x-ti.es/home/html/games/includes/login.php on line 35
Linea 35:
Código PHP:
Ver original
  1. header("Location: ?p=inicio");

Un saludo
  #4 (permalink)  
Antiguo 02/06/2010, 15:58
 
Fecha de Ingreso: agosto-2009
Mensajes: 70
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: [Ayuda] Problema con sesiones

bien eso sucede porque vos estás tratando de redirigir a otra url, cuando PHP ya ha enviado algo de código HTML.

Si no has enviado HTML, fijate nunca dejar una línea en blanco antes de la apertura de la etiqueta php

esto es incorrecto:
Cita:
1.
2. <?php
3. session_start();
4. // más código php
5. ?>
en cambio, esto es correcto:

Cita:
1. <?php
2. session_start();
3. // más código php
4. ?>
fijate q en el primer caso tenés una línea en blanco antes de "<?php".. espero hacerme comprender..
  #5 (permalink)  
Antiguo 02/06/2010, 17:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 8
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: [Ayuda] Problema con sesiones

lo he revisado y no veo lineas y eso como u dices
Código PHP:
Ver original
  1. //damos valores a las variables de la sesión
  2. $_SESSION[nombre] = $ok["nombre"]; //damos el nick a la variable usuario
  3. $_SESSION[id] = $ok["id"]; //damos la id del user a la variable idusuario
  4. $_SESSION[lvl] = $ok["lvl"]; //damos el level del user a la variable level
  5. header("Location: ?p=inicio"); //linea 35
  6. } else {
  7. echo 'Nick o pass incorrectos';
  8. }
  9. }
Código PHP:
Ver original
  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  2. <style type="text/css">
  3. .Estilo1 {
  4.     font-family: Verdana, Arial, Helvetica, sans-serif;
  5.     font-size: 11px;
  6. }
  7. .Estilo2 {
  8.     color: #FF0000;
  9.     font-style: italic;
  10. }
  11. </style>
  12. <? if(isset($_SESSION[usuario]) )
  13. { ?>

Un saludo

Etiquetas: sesiones
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:32.