PHP - Dudas sobre sesiones de usuarios

 
Vista:
sin imagen de perfil

Dudas sobre sesiones de usuarios

Publicado por JAVIER (7 intervenciones) el 01/07/2016 12:28:07
Hola de nuevo!!!.

Bueno me siguen asaltando mil dudas, pero hay 2 que me tienen un poco atascado.

1ª) Esto más bien es una duda de estilo. Tengo entendido q que paginas de usuarios registrados se pueden tener, o bien en la misma pagina, o bien creando una pagina especifica para usuarios registrados.
Es decir, o tener un index.php que se recargue con php_self cuando estes registrado; o que te redirija a un index_usuario_registrado.php cuando hagas login. Lo que no entiendo muy bien es la diferencia de usar una u otra. Imagino que es una cuestión de formalidad y espacio. Pero me gustaría que me sacaríais de dudas.


2ª)¿Como se pasan variables de sesión en un bucle?. Es decir, tengo un bucle que pasa por la base de datos y muestra una serie de imagenes. Cuando hago click en la imagen va a otra pagina mandando la variable con el nombre de archivo. Si la paso por url no tengo problema porque se pasa al hacer click. Pero ¿Hay alguna forma de pasar la variable de sessión solo al hacer click en el enlace?.
He probado cosas como meter a continuación del href='segunda pagina.php' session_start() $_session('archivo')=$archivo, y cosas así, pero no me funciona nada.

Un saludo y muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Dudas sobre sesiones de usuarios

Publicado por xve (6935 intervenciones) el 01/07/2016 17:32:48
Hola Javier, intento explicarte tus dudas...

1.- da igual donde se registre el usuario y las consiguientes paginas que visualice, si el usuario se ha validado en el sistema, tendrás que generar unas variables de sesión, que certifiquen que dicho usuario esta validado, por lo que desde ese momento, vaya donde vaya el usuario siempre estara validado.

Dicho esto, la manera mas sencilla de gestionar tu código, es que por ejemplo en el index.php se valide y una vez validado lo envíes a una pagina con el contenido que pueda visualizar o gestionar dicho usuario validado.

2.- No entiendo muy bien... las variables de sesión siempre están activas... las puedes llamar desde cualquier pagina, no hace falta que las pases como parámetro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Dudas sobre sesiones de usuarios

Publicado por JAVIER (7 intervenciones) el 01/07/2016 17:50:15
Ok, la duda del primer punto lo entiendo. Pensaba hacerlo así pero luego he visto gente que recarga la pagína cuando hace login con php_self para permanecer en la misma y me han entrado las dudas de si lo estaba haciendo bien.

En cuanto al segundo punto te lo cuento con el código a ver si me explico mejor:

Tengo un index con la galeria que se muestra así:

1
2
3
4
5
6
7
8
while ($row = mysqli_fetch_assoc($query)){
	$archivo=$row['nombre_archivo'];
	$titulo=$row['nombre_video'];
	$descripcion=$row['descripcion_video'];
 
	echo '<table align="left"><tr><td>';
	echo '<video src = "'.$directory."/".$archivo.'" width="150" float="center" height="100"></video></td></tr>';
	echo "<tr><td><a href='reproductor.php'>$titulo</a></td></tr></table>";

Necesito pasar la variable $archivo a la pagina reproductor.php para reproducir el video. Pero tiene que ser la variable $archivo que corresponda con ese video.

Por URL tengo claro como se hace, pero si quiero usar variables de sesion y hago esto....

1
2
3
4
5
6
7
8
9
10
11
while ($row = mysqli_fetch_assoc($query)){
	$archivo=$row['nombre_archivo'];
	$titulo=$row['nombre_video'];
	$descripcion=$row['descripcion_video'];
 
	session_start();
	$_session['nombre_archivo']=$archivo;
 
	echo '<table align="left"><tr><td>';
	echo '<video src = "'.$directory."/".$archivo.'" width="150" float="center" height="100"></video></td></tr>';
	echo "<tr><td><a href='reproductor.php'>$titulo</a></td></tr></table>";

Me surgen 2 problemas,
1) Una vez que tengo iniciada una sesión no puede iniciar por segunda vez el bucle porque me dice que la sesión esta iniciada.
2) No se como hacer para que la variable $archivo se pase solo cuando haga click y corresponda con el video que he dado click.

En definitiva lo que estoy intentando es pasar por sesión la vairiable con el nombre de archivo del video que he dado click a la página reproductor.php
Uff.... Hasta a mi me cuesta entederme jajajaja. Espero haberme explicado algo mejor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar