Foros del Web » Programando para Internet » PHP »

Sesiones en php

Estas en el tema de Sesiones en php en el foro de PHP en Foros del Web. Hola a todos. Tengo una serie de usuarios en una base de datos. En una pantalla (index.php), existe un formulario par ameter el nombre de ...
  #1 (permalink)  
Antiguo 20/06/2006, 06:37
 
Fecha de Ingreso: octubre-2003
Mensajes: 280
Antigüedad: 14 años, 1 mes
Puntos: 1
Sesiones en php

Hola a todos. Tengo una serie de usuarios en una base de datos. En una pantalla (index.php), existe un formulario par ameter el nombre de usuario y clave. Si existe en la base de datos, deber aparecer Bienvenido nombre y cerrar sesión. Y desde aqui se podrá acceder a index2.php e index3.php.

Si se accede manualmente a estas dos paginas dará fallo.

Más o menos como se haria esto?

Gracias.
  #2 (permalink)  
Antiguo 20/06/2006, 09:05
Avatar de caneva  
Fecha de Ingreso: junio-2006
Ubicación: Sevilla (España)
Mensajes: 81
Antigüedad: 11 años, 6 meses
Puntos: 1
1. En index.php el usuario rellena el formulario.

2. Al pulsar en enviar datos del formulario puede traspasar los datos o otra página o a esa misma página, según donde quieras hacer todo. Esto lo indicas en la etiqueta <form>, mediante el valor "action":
Cita:
<form action="archivo_donde_envio_los_datos.php" method="post">
3. La página elegida recibe los datos y hace una consulta a la base de datos para comprobar que los datos son correctos. Aunque lo primero que tiene que hacer es establecer una conexión con la base de datos:

3.1. Conexión a la BD [ Tuhost: tu espacio web, ejemplo: miespacio.com - Usuario: usuario para acceder al contenido de la bd - Contraseña: password para acceder a la bd - Nombre BD: nombre de tu base de datos ]
Código PHP:
<?php
$db mysql_pconnect('tuhost''usuario''contraseña');
    if (!
$db)
    {
        echo 
'Error: No se ha podido conectar a la base de datos.  Porfavor intentelo más tarde.';
        exit;
    }
    
mysql_select_db('Nombre_BD');
?>
3.2. Comprobar datos:
Cita:
$comprobando_datos=mysql_query("select * from lugar_de_la_base_de_datos_donde_quieres_buscar where
nombre='$nombre' and clave=password('$clave')
");
4. En caso de ser correctos crea variables de sesión para el usuario, las que necesites.
Código PHP:
<?php
if (isset($comprobando_datos) && !empty($comprobando_datos) && $comprobando_datos!='')
{
//Datos correctos
$_SERVER('nombre_usuario')=$nombre;
$_SERVER('id')=$id_usuario;
echo 
'Bienvenido: '.$_SERVER('nombre_usuario');
//Aquí también podrías poner un enlace a una página que se llamara: log_out.php donde iría el código para destruir las variables de sesión creadas anteriormente.
}
else
{
//Datos incorrectos
echo 'Los datos introduccidos son incorrectos';
}
?>
5. En caso de ser incorrectos, te envia a la página del formulario de nuevo indicándote que los datos introduccidos son incorrectos.

6. En todas las páginas, lo primero de todo despues del doctype, existe la apertura de una sesión:
Código PHP:
session_start(); 
¿Cómo haces todo esto? Desde luego la solución no es pretender que te den el código hecho cualquiera que lea el post. Así que sigue estos pasos:
1. Leete un manual php.
2. Leete un manual de php+mysql.
3. Intenta hacerlo tu mismo siguiendo el esquema que te puse.
4. Postea aquí tus dudas concretas.
5. La próxima vez antes de postear ya sabes lo que tienes que hacer, currarte lo tu antes.
__________________
Cita:
"El camino empieza renunciando al control, y volviéndose flexibles."

Última edición por caneva; 20/06/2006 a las 09:22
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 20:01.