Foros del Web » Programando para Internet » PHP »

Sesiones Porfavor

Estas en el tema de Sesiones Porfavor en el foro de PHP en Foros del Web. hola amigos tengo una duda muy grande respecto a sesiones, quisiera saber especificamente: - He probrado con varios ejemplos que hay aqui en el foro, ...
  #1 (permalink)  
Antiguo 03/05/2006, 09:30
 
Fecha de Ingreso: abril-2006
Ubicación: miraflores
Mensajes: 69
Antigüedad: 11 años, 7 meses
Puntos: 1
Sesiones Porfavor

hola amigos tengo una duda muy grande respecto a sesiones, quisiera saber especificamente:

- He probrado con varios ejemplos que hay aqui en el foro, pero al parecer la variable que guarda la sesion desparece en el camino, o bueno no se realmente lo que sucede, quisiera en realidad que me muestren algun codigo en el que se púeda ver la funcionalidad, si pueden porfavor un codigo que les haya funcionado , que sirva, pues he tratado varios y parece q no funcionacen muchas gracias de antemano
__________________
Patrick:policia:
  #2 (permalink)  
Antiguo 03/05/2006, 09:34
 
Fecha de Ingreso: enero-2006
Mensajes: 143
Antigüedad: 11 años, 11 meses
Puntos: 0
y q es lo q pretendes hacer?
  #3 (permalink)  
Antiguo 03/05/2006, 10:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo mejor es que leas sobre sesiones . .que són y sus conceptos básicos como el "nunca bien ponderado": SID (Identificador Único de Sesión). Esta es la principal "causa" de que las sesiones funcione o no en general (de su "propagación").

Todo esto lo indica la documentación oficial de sesiones:
www.php.net/session

Y en las FAQ's de este foro tienes un par de ellas que tratan el tema (algo de teoría y ejemplos muy básicos).

Si tienes problemas con cierto código que has probado, indica el código completo que usastes y explica el problema.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 03/05/2006, 10:26
 
Fecha de Ingreso: abril-2006
Ubicación: Talcahuano-Chile
Mensajes: 50
Antigüedad: 11 años, 7 meses
Puntos: 0
las variables no se pierden a menos que tu las elimines con unset
ej:

Código PHP:
<?php unset($_SESSION['nombre']); ?>
o de una forma simple
Código PHP:
<?php $_SESSION['nombre']=""?>
que tambie debería funcionar

a lo mejor se pierden porque al pasar de pagina en pagina no pones la funcion en "cada pagina"
Código PHP:
 <?php session_start(); ?>
que prioritariamente debe estar en el inicio de tu codigo para poder usar sesiones.

ésta función lo que hace es crear una nueva sesión si es que no existe ninguna y entrar a una sesión si es que se habia iniciado una anteriormente.

Espero que te haya ayudado en algo.
nos vemos
  #5 (permalink)  
Antiguo 03/05/2006, 12:23
 
Fecha de Ingreso: marzo-2005
Mensajes: 43
Antigüedad: 12 años, 8 meses
Puntos: 0
Al borde del Suicidio!!!!

Hola compañeros phperos!!!!
Tengo un problema con esas malditas sesiones de php, me sale el maldito error:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/cyberco/public_html/Admin_ASIA/Paginas/Control.php:2) in /home/cyberco/public_html/Admin_ASIA/Paginas/Control.php on line 14

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/cyberco/public_html/Admin_ASIA/Paginas/Control.php:2) in /home/cyberco/public_html/Admin_ASIA/Paginas/Control.php on line 14


El codigo php es el siguiente, por fa ayuda, ya le he dado mucho a esto y nada!!!

<HTML>
<?php
$dbh=mysql_connect("localhost", "cyberco_cyberco", "bartolina") or die('No se pudo Conectar a la Base de Datos...Intente de Nuevo!!!');
mysql_select_db("cyberco_bdasiabartolina");
if(isset($_POST['us_contrasena'])){
$colname_query_pass =md5((get_magic_quotes_gpc()) ? $_POST['us_contrasena'] : addslashes($_POST['us_contrasena']));
}if(isset($_POST['us_nom_usuario'])){
$colname_query_usuario = (get_magic_quotes_gpc()) ? $_POST['us_nom_usuario'] : addslashes($_POST['us_nom_usuario']);}
$sql_usuario = "SELECT * FROM usuarios WHERE LOGIN_USU = '$colname_query_usuario' AND PASS_USU ='$colname_query_pass'";
$query_usuario = mysql_query($sql_usuario, $dbh) or die(mysql_error());
$row_query_usuario = mysql_fetch_assoc($query_usuario);
$totalRows_query_usuario = mysql_num_rows($query_usuario);
if($totalRows_query_usuario>0){
session_start();
$_SESSION['certificado']=1;
}
else{
}
mysql_free_result($query_usuario);
mysql_close($dbh); ?>
</HTML>
  #6 (permalink)  
Antiguo 03/05/2006, 12:29
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 15 años, 5 meses
Puntos: 125
Pueden ser problemas de etiquetas HTML que se han añadido..
ejemplo: <html> <body>
  #7 (permalink)  
Antiguo 03/05/2006, 12:40
Avatar de Felipe Torres  
Fecha de Ingreso: abril-2006
Mensajes: 81
Antigüedad: 11 años, 7 meses
Puntos: 1
Hola:

Tampoco me creas pero alguien de este foro una vez me comento que la sentencia session_start(); debes de ponerla al inicio de tu pagina, incluso antes que nada, a mi me ha servido eso porque es el mismo error que tenia... espero te sirva

Saludos
  #8 (permalink)  
Antiguo 03/05/2006, 12:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 43
Antigüedad: 12 años, 8 meses
Puntos: 0
Sigo en las mimas

Lo que quiero es que si el usuario existe cree la sesion si no, pues no, ese es el problema, es mas que todo para validar la existencia del usuario!!!
  #9 (permalink)  
Antiguo 03/05/2006, 13:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Daguett
las variables no se pierden a menos que tu las elimines con unset
ej:

Código PHP:
<?php unset($_SESSION['nombre']); ?>
o de una forma simple
Código PHP:
<?php $_SESSION['nombre']=""?>
que tambie debería funcionar

a lo mejor se pierden porque al pasar de pagina en pagina no pones la funcion en "cada pagina"
Código PHP:
 <?php session_start(); ?>
que prioritariamente debe estar en el inicio de tu codigo para poder usar sesiones.

ésta función lo que hace es crear una nueva sesión si es que no existe ninguna y entrar a una sesión si es que se habia iniciado una anteriormente.

Espero que te haya ayudado en algo.
nos vemos
Se "pierden" las sesiones si el SID no se propaga correctamente por ejemplo ..

Imagina .. propaga el SID en cookies (como así asumes en tus ejemplos) y ten un navegador que no acepte cookies. Ahí perderas el "SID" al primer cambio de script/página y con ella la referencia de tus datos que quedan en tu servidor.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 03/05/2006, 13:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por ktulu_red
Hola compañeros phperos!!!!
Tengo un problema con esas malditas sesiones de php, me sale el maldito error:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/cyberco/public_html/Admin_ASIA/Paginas/Control.php:2) in /home/cyberco/public_html/Admin_ASIA/Paginas/Control.php on line 14

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/cyberco/public_html/Admin_ASIA/Paginas/Control.php:2) in /home/cyberco/public_html/Admin_ASIA/Paginas/Control.php on line 14


El codigo php es el siguiente, por fa ayuda, ya le he dado mucho a esto y nada!!!

<HTML>
<?php
$dbh=mysql_connect("localhost", "cyberco_cyberco", "bartolina") or die('No se pudo Conectar a la Base de Datos...Intente de Nuevo!!!');
mysql_select_db("cyberco_bdasiabartolina");
if(isset($_POST['us_contrasena'])){
$colname_query_pass =md5((get_magic_quotes_gpc()) ? $_POST['us_contrasena'] : addslashes($_POST['us_contrasena']));
}if(isset($_POST['us_nom_usuario'])){
$colname_query_usuario = (get_magic_quotes_gpc()) ? $_POST['us_nom_usuario'] : addslashes($_POST['us_nom_usuario']);}
$sql_usuario = "SELECT * FROM usuarios WHERE LOGIN_USU = '$colname_query_usuario' AND PASS_USU ='$colname_query_pass'";
$query_usuario = mysql_query($sql_usuario, $dbh) or die(mysql_error());
$row_query_usuario = mysql_fetch_assoc($query_usuario);
$totalRows_query_usuario = mysql_num_rows($query_usuario);
if($totalRows_query_usuario>0){
session_start();
$_SESSION['certificado']=1;
}
else{
}
mysql_free_result($query_usuario);
mysql_close($dbh); ?>
</HTML>
Quita ese HTML que tienes ahí ..

session_start() debe estar antes de cualquier salida al navegador que puedas hacer y antes de pretender acceder a $_SESSION a ver o definir un valor en una variable.

Ese script que presentas -sólo- debe validar tu usuario bajo esa consulta SQL que haces .. NO es un script para que presnetees algún dato como salida, al validar (sea buena o mala la validación) redirecciona (header("location: dondesea.php) a donde tengas que ir tras la validación (página).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 03/05/2006, 13:14
 
Fecha de Ingreso: marzo-2005
Mensajes: 43
Antigüedad: 12 años, 8 meses
Puntos: 0
El que sabe es el que sabe....hasta con la luz apagada!!!

Uff...gracias Cluster, era una bobada pero la verdad me salvo la vida, ya estaba desesperado, bueno cada dia se aprende algo mas, gracias!!!
  #12 (permalink)  
Antiguo 03/05/2006, 16:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por ktulu_red
Uff...gracias Cluster, era una bobada pero la verdad me salvo la vida, ya estaba desesperado, bueno cada dia se aprende algo mas, gracias!!!
Y que "bobada" era? (que sirva de experiencia a otras personas también).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 03/05/2006, 17:52
Avatar de skatomundo  
Fecha de Ingreso: junio-2002
Ubicación: Santiago - CL
Mensajes: 2.532
Antigüedad: 15 años, 5 meses
Puntos: 125
Cita:
Iniciado por Cluster
Y que "bobada" era? (que sirva de experiencia a otras personas también).

Un saludo,
era Su HTML etiqueta.. perdida!
  #14 (permalink)  
Antiguo 04/05/2006, 07:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por skatomundo
era Su HTML etiqueta.. perdida!
Supongo .. (pero no obstante si lo confirma: mejor).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 03:05.