Foros del Web » Programando para Internet » PHP »

sesion

Estas en el tema de sesion en el foro de PHP en Foros del Web. hola no controlo demasiado del tema de las sesiones y estoy intentado crear una pero me da muchos problemas estas es mi sesion: <? session_start(); ...
  #1 (permalink)  
Antiguo 03/03/2009, 13:34
 
Fecha de Ingreso: enero-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses
Puntos: 0
sesion

hola no controlo demasiado del tema de las sesiones y estoy intentado crear una pero me da muchos problemas
estas es mi sesion:
<?
session_start();
require('configuracion.php');
$qu="SELECT * FROM usuarios LIMIT 0, 30";
$rs=mysql_query($qu);
$row=mysql_fetch_assoc ($rs);
echo $rs;
echo "mi nombre es: ".$row['nick'];
$_SESSION['nick']=$row['nick'];
echo "y en la sesion soy".$_SESSION['nick'];
header ("Location: login.php");


?>

el servidor me escribe lo siguiente cuando ejecuto

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\foro2\session.php:9) in C:\xampp\htdocs\foro2\session.php on line 10

alguien me puede decir porque?? muchas gracias por adelantado
  #2 (permalink)  
Antiguo 03/03/2009, 13:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sesion

Es que estás tratando de cambiar la cabecera (header) después que hayas enviado una salida usando echo, eso no se puede hacer.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 03/03/2009, 14:15
 
Fecha de Ingreso: junio-2008
Mensajes: 76
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: sesion

Exactamente como dice "David el Grande"...

En otras palabras, la cabezera header SOLO funciona si no has desplegado nada de información en pantalla.
  #4 (permalink)  
Antiguo 03/03/2009, 16:20
 
Fecha de Ingreso: enero-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: sesion

gracias por contestar tan rapido
hize lo que dijisteis y me dejo de dar errores pero no recupero la variable en la segunda pagina. lo que me plantea una pregunta ¿quizas sea pòrque tenga que activar alguna variable en php.ini?
por si acaso os vuelvo a dejar el codigo no sea que me veais mas errores


<?
require('configuracion.php');
$qu="SELECT * FROM usuarios LIMIT 0, 30";
$rs=mysql_query($qu);
$row=mysql_fetch_assoc ($rs);
$_SESSION['nick']=$row['nick'];
header ("Location: login.php");
?>

y en el login

<?php


echo "Hola: ".$_SESSION['nick'];
?>
  #5 (permalink)  
Antiguo 03/03/2009, 16:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: sesion

Te falta session_start() en tu segunda pagina, debes de llamar a session_start() en cada pagina que quieras usar.

Saludos
  #6 (permalink)  
Antiguo 03/03/2009, 17:11
 
Fecha de Ingreso: enero-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: sesion

joer os creereis que estoy de puteo pero aun asi no me va
probe a cambiar register_session a On en los dos archivos de php.ini y na...
  #7 (permalink)  
Antiguo 03/03/2009, 17:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: sesion

Solamente es llamar a session_start(); no necesitas modificar el php.ini.

Saludos
  #8 (permalink)  
Antiguo 03/03/2009, 17:35
 
Fecha de Ingreso: enero-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: sesion

ok, gracias pero asi no me pasa las variables
en fin, tendre que buscar otro metodo jeje
  #9 (permalink)  
Antiguo 03/03/2009, 17:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: sesion

Prueba antes de hacer el header() imprimir que $row['nick'] tenga el valor deseado.

Saludos
  #10 (permalink)  
Antiguo 03/03/2009, 19:45
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: sesion

esto no es parte de tu problema pero después del header siempre utiliza el exit, es buena forma de asegurarse que no se ejecutan algún código más.

Además utiliza el tag completo de php <?php ?>, para uqe no tengas problemas en la versión futura de php.

suerte
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
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 05:12.