Foros del Web » Programando para Internet » PHP »

Ayuda con session_start()

Estas en el tema de Ayuda con session_start() en el foro de PHP en Foros del Web. Holissss chicos necesito ayuda con session_start(); nose como entregarle el valor que le envio, osea como asignarlo hize un print_r y si el esta llegando ...
  #1 (permalink)  
Antiguo 11/12/2007, 06:59
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Ayuda con session_start()

Holissss

chicos necesito ayuda con session_start();

nose como entregarle el valor que le envio, osea como asignarlo

hize un print_r y si el esta llegando lo que el envio, pero no se como capturarlo

les agrego mis codigos

index.php
Código PHP:
<form action="filtro.php" method='post'>
  <
p>Usuario <select name="idPersona">
        <
option value="1">Juan</option>
        <
option value="2">^Pedro</option>
        <
option value="3">Pablo</option
                      
</select></p>
             
     <
p><input type="submit" value="Entrar" name="enviar"/></p>
  </
form
filtro.php
Código PHP:
<?php session_start();
if (isset (
$_SESSION["idPersona"])){
  
$idPersona$_SESSION["idPersona"];
  include (
"conectar.php");
  
$link conectar();
}
?>
ver.php
Código PHP:
<?php  session_start();  echo "El id es: ".$_SESSION['idPersona'];?>


el ver.php me devuelve:

El id es: ".$tmp1."


ayuda porfisss :s
  #2 (permalink)  
Antiguo 11/12/2007, 07:16
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

Ummm, tengo algo oxidadas las sesiones (aunque las tendré que retomarlas pronto), pero la impresión que me da es que no le asignas el valor correctamente.

Lo que veo en tu código es que compruebas que exista una variable de sesión que no has declarado, yo haría algo así:

Código PHP:
<?php session_start();
if (isset (
$_GET["idPersona"])){
  
$idPersona$_GET["idPersona"];
  
$_SESSION["idPersona"] = $idPersona;
  include (
"conectar.php");
  
$link conectar();
}
?>
De éste modo tendrías tanto en $idPersona como en la variable de sesión el valor que has recogido del formulario anterior. Igual no he entendido muy bien el código y ya te digo que hace tiempo que no toco las sesiones, pero creo recordar que era así.
  #3 (permalink)  
Antiguo 11/12/2007, 07:27
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

hola
gra por respodner a mi llamado
pero me sigue devolviendo
hice un print_r y si llega el valor del id

pero cuando pregunto por el en el

Código PHP:
echo "El id es: ".$_SESSION['idPersona']; 
me devuelve

El id es: ".$tmp1."


porque estoy haciendo esto te preguntaras, es para saber si estoy guardando el id para poder usarlo en el resto del archivo

saludos
  #4 (permalink)  
Antiguo 11/12/2007, 07:36
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

Vale, pues vamos a acotar el problema.

Supongo que a ver.php llegarás a través de algún link desde filtro.php, no? (para que el flujo de la sesión siga)

prueba a mostrar la variable de sesión en filtro.php, a ver si se está asignando bien.

Ya te digo que tengo algo olvidado el tema de las sesiones, pero juraría que era así.
  #5 (permalink)  
Antiguo 11/12/2007, 07:55
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

ya mira probe solo con el filtro.php
y sigue los mismo del $tmp1


Código PHP:
<?php session_start();
if (isset (
$_GET["idPersona"])){
  
$idPersona$_GET["idPersona"];
  
$_SESSION["idPersona"] = $idPersona;
  include (
"conectar.php");
  
$link conectar();
}

    
print_r($_POST['idPersona']);
echo 
"El id es: ".$_SESSION['idPersona'];
?>
  #6 (permalink)  
Antiguo 11/12/2007, 08:07
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Ayuda con session_start()

Tiene un pequeño detalle tu if, puesto que el idPersona lo estas enviando por POST y tu en el if lo estas queriendo recibir por GET aqui ya hay un problema, por eso si te imprime el print_r porque lo estas recibiendo por POST.

Modifica tu código por esto

Código PHP:
if (isset ($_POST["idPersona"])){ 
  
$idPersona$_POST["idPersona"]; 
  
$_SESSION["idPersona"] = $idPersona
  include (
"conectar.php"); 
  
$link conectar(); 

Y dinos como te fue.

Saludillos.
  #7 (permalink)  
Antiguo 11/12/2007, 08:11
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

siiii ahi sipiss

mil graxxx ahora si me recibe el valor



consulta ahora en el resto de los archivos me vasta con poner el sesion star y puedo ultizar el idpersona ?


o no es tan sencillo?
  #8 (permalink)  
Antiguo 11/12/2007, 08:16
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo Re: Ayuda con session_start()

Cita:
consulta ahora en el resto de los archivos me vasta con poner el sesion star y puedo ultizar el idpersona ?
jeje a si de sencillo es. La sesion se va a mantener hasta que no cierren el explorador o bien tu la destruyas a mano con session_destroy()

Saludillos.
  #9 (permalink)  
Antiguo 11/12/2007, 08:30
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

iap genial

mira yo asi lo estaba haciendo en lso diferentes archivos, previo aq deotro ingresaba el idpersona

Código PHP:
if ($tmp1=$_POST['idPersona']){
$result=mysql_query("SELECT * FROM persona
                            WHERE idPersona='"
.$tmp1."'
                            ."
;");
while ($row=mysql_fetch_array($result)) 

ahora escribo ".$_SESSION['idPersona'];

teniendo predefinido al inicio del archivo
session_start();



sorry q pregunte tanto y quizas cosas ovbias...pero soy nueva en este mundo de php
  #10 (permalink)  
Antiguo 11/12/2007, 08:33
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: Ayuda con session_start()

Y que problema estas teniendo con eso? Porque a simple vista todo parece estar bien.

Saludillos.
PD. No hay problema, tu pregunta las veces que quieras hasta que te quede claro.
  #11 (permalink)  
Antiguo 11/12/2007, 08:40
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

Coño! Fallo mio lo del GET, es lo que tiene pensar en el método :S
  #12 (permalink)  
Antiguo 11/12/2007, 08:42
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

graxxx por la paciencia

no si porblema con ello no tengo
si asi funcinaba bien sin crear el sesion_star()

le punto es q eso me sirve solo para el primer archivo, si accedo al siguiente peirdo el idpersona por ello desici usar session... mi consulta es si paar el resto de lso archivos sigo colocando el if ($tmp1=$_POST['idPersona']) y utilizando el $tmp1 en los select y va hacer el q ingrese al iniciar sesion?


se entiende?
  #13 (permalink)  
Antiguo 11/12/2007, 08:47
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Re: Ayuda con session_start()

Pues seria bueno que pusieras esa validación en las archivos donde uses esa dicha variable de sesion, para que no tengas errores más adelante. Si la variable de sesion no existe no le permitas seguir al usuario. Muestrele un mensaje en donde la aclares que tiene que estar logeado para porder realizar o ver dicha pagina.

Saludillos.
  #14 (permalink)  
Antiguo 11/12/2007, 08:49
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

Nop, en el resto de ficheros, después de iniciar la sesión puedes acceder al contenido de la variable con su nombre: $_SESSION['idPersona'] por ejemplo.

En eso se basa las variables de sesión, en que las puedas pasar a través de las páginas sin usar el POST o las variables por URL.
  #15 (permalink)  
Antiguo 11/12/2007, 08:50
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

Mauled, pero no tendría que comprobarlo con el $_POST, se supone que en el resto de páginas no va a haber POST, no?
  #16 (permalink)  
Antiguo 11/12/2007, 08:58
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

Cita:
Iniciado por Keysher Ver Mensaje
Mauled, pero no tendría que comprobarlo con el $_POST, se supone que en el resto de páginas no va a haber POST, no?
yep... la misma consulta de keyser
  #17 (permalink)  
Antiguo 11/12/2007, 09:03
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

quizas asiganarle el valor auan variable temporal o algo asi?


o me fui por las ramas?

saludos :)
  #18 (permalink)  
Antiguo 11/12/2007, 09:05
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

La teoria, haciendo un resumen, debería ser la siguiente:

- Formulario de user y pass
- Validación de user y pass. Si la validación es correcta, se crea la sesión y se asigna el usuario a la variable de sesión correspondiente (y más datos si los necesitas).
- En el resto de páginas, y mientras dure la sesión, podrás acceder al valor de las variables en cualquier momento.

A parte de esto, ¿qué necesitas? (es que entre tanta respuesta he perdido un poco el hilo, también ando algo espeso que acabo de comer)
  #19 (permalink)  
Antiguo 11/12/2007, 09:22
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

Holis Keysher

q chistoso tu comentario



ya mira tengo una pagina a la que peuden acceder varios usuarios los que peuden ingresar, modificar, ver, eliminar cosas entre otros, ahora bien la idea es que para cada uan de esas funciones es requisito el idpersona, por ello quiero que la logearse se conserve durante toda su estancia su id,
puesto que actualemente cuando quiere ingresar. modificar etc debo ingresar directamente el id de la persona y se supone q deberia ser automatico
en resumen ese es le objetivo del programa

por ende nesesito trabajar con el idpersona, osea rescalatarlo nose como decirlo

pero que en cada select, delete e insert el idpersona sea automatico de quien se encuentra logueado

esup

espero me entiendas .... xq suelo confundir a la mayoria en este foro x noser muy calar en mis explicaciones ... pero como dije antes soy nueva en php, y explicar sin un papel o pizarra al lado no es mi fuerte

saludos
  #20 (permalink)  
Antiguo 11/12/2007, 09:31
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

Jaja, lo de poder explicar bien las cosas en un foro es algo extendido. Lo suyo sería con un papel y unas cervezas, pero eso es más complicado.


Lo que puedes hacer es un módulo que se encargue del logueo de usuarios.
Una vez comprobado que el usuario es correcto, inicias la sesión e inicializas las variables de sesión correspondientes.
No sé como tendrás los permisos de cada usuario, pero también podrías tener una variable de sesión con su nivel de permisos.

A partir de ahí, mientras ese usuario (ya logueado) navegue por la aplicación siempre tendrá disponibles esas variables de sesión, así que en las páginas sensibles, lo primero que tendrás que hacer (después del session_start) será comprobar que haya un usuario logueado, para ello miras las variables de sesión.

La teoria es sencilla (aunque quizás cueste captarla la primera vez), piensa que las variables de sesión van a mantener los valores que les asignes hasta que la sesión se destruya, por lo que vas a tener disponibles esas variables siempre. Es como si las pasases por URL, pero mucho más seguro, claro.

Yo tampoco me explico especialmente bien....
  #21 (permalink)  
Antiguo 11/12/2007, 09:43
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

iap mira y no puede ser de una manera mas facil que en el AND filtros.idPersona = '1' que aparece en el codigo pueda ponerle el valor del id q me entrega el sesion star()..porque ya lo compobre y destrui tb xd jajja...
el punto es que en todos los archivos mientras ingrese con un usuario esta recibieno su id, entonces no se peude simplemente usar ese valor de alguna forma en el select ??


Código PHP:
SELECT  
FROM filtrospersona
WHERE persona
.idPersona filtros.idPersona
AND filtros.nom_filtro='$tmp'
AND filtros.idPersona '1'
ORDER BY idfiltros;"); 
es decir del .$_SESSION['idPersona']; se puede capturar el valor?
  #22 (permalink)  
Antiguo 11/12/2007, 09:57
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

Sí, claro, de eso se trata!

En la página en la que se válida el usuario haces un session_start y luego a la variable de sesión del usuario le asignas el valor correspondiente (en esa página tienes el valor, ya que el usuario viene del formulario).

Una vez hecho eso, ya se queda el valor de la variable de sesión, lo único que tienes que hacer en el resto de páginas es el sesion_start, Y después utilizar las variables de sesión, que tendrán los valores que les has asignado antes.

Es decir si un usuario se loguea, y tú creas la variable de sesión con su ID, en el resto de páginas vas a poder acceder a esa variable directamente, sólo tienes que hacer el sesion_start y a partir de ahí ya podrás utilizar las variables.

En tu consulta en vez de 1 pondrás el $_SESSION['idPersona']


Claro que esto es la teoria, en la práctica puede costar un poquito más, ya sabes, errar es de humanos.
  #23 (permalink)  
Antiguo 11/12/2007, 10:02
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

siiii
holissss


si resulto

es con este sencillo codigo
Código PHP:
$_SESSION["id"]=$idPersona
asi le asigno el valor y puedo trabajar con el en todos los archivos



mil graxxx

saludos
  #24 (permalink)  
Antiguo 11/12/2007, 10:19
 
Fecha de Ingreso: diciembre-2004
Mensajes: 98
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

Hola a todos:

Si lo que quereis es autentificar usuarios ver el autentificator de Cluster, de lo mejorcito que se ha hecho, os aclarara casi todo lo que querais saber del tema.

A mi me ha ido de cine, con el se aprende.
  #25 (permalink)  
Antiguo 11/12/2007, 10:19
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Ayuda con session_start()

Eso es!

En realidad trabajar con sesiones es relativamente sencillo, aunque al profundizar se vuelve algo complejo, si tienes tiempo busca algún pequeño manual sobre sesiones para que veas todas las posibilidades que tiene.
  #26 (permalink)  
Antiguo 11/12/2007, 11:53
Avatar de liliancita  
Fecha de Ingreso: diciembre-2007
Mensajes: 189
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Ayuda con session_start()

okisss


seguire profundizando, pero por el momento problema solucionado :)


saludosss
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 14:04.