Foros del Web » Programando para Internet » PHP »

Inicio de session

Estas en el tema de Inicio de session en el foro de PHP en Foros del Web. Hola que tal, buen dia para todos pues mi caso es el siguiente: Tengo una pagina web, algo sencillo, son 3 frames: 1.- Encabezado. 2.- ...
  #1 (permalink)  
Antiguo 29/11/2008, 13:57
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 1
Inicio de session

Hola que tal, buen dia para todos pues mi caso es el siguiente:

Tengo una pagina web, algo sencillo, son 3 frames:

1.- Encabezado.
2.- Menu al lado izquierdo.
3.- Parte donde se muestra el contenido del menu (a la derecha)

Bueno, lo que quiero hacer es un formulario de inicio de sesion para que solo usuarios autorizados entren a ciertas partes de la pagina.

Que quede asi:

Al darle click en la parte del menu "ZONA PRIVADA" por llamarlo de alguna manera me ponga el formulario de Inicio de Sesion (Usuario, Paswword, Boton Enviar) en el frame 3 que mencione anteriormente. (En esta parte no tengo problema)

Una vez que el formulario aparezca al ingresar los datos y hacer click en el boton "Enviar" me mande a otra pagina "privado.html"(misma que ya tengo) o un error de usuario y/o password invalidos segun sea el caso pero en el mismo frame 3

Les agredecere enormemente su ayuda y quedo a sus ordenes para cualquier aclaracion.
  #2 (permalink)  
Antiguo 29/11/2008, 14:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Inicio de session

y a todo esto, ¿¿cual es tu pregunta o problema ??

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 01/12/2008, 10:03
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Inicio de session

Pues cualquier tipo de ayuda con el codigo, y es que ya estuve buscando entre los temas del foro y si hay post con el codigo, y pues si alguien tiene algo parecido a lo que busco agradeceria mucho que me lo compartiera
  #4 (permalink)  
Antiguo 01/12/2008, 10:59
 
Fecha de Ingreso: diciembre-2007
Mensajes: 14
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Inicio de session

Bueno, esto es un codigo muy muy simple... no utiliza ni base de datos ni nada, simplemente en un archivo PHP guarda los usuarios y los password, en otro la variable SESSION y otro LOGEA.
Como creo que eres nuevo en esto, te dire que para montar este script que te preparado es necesario que el host admita PHP y que tus webs deben estar en extension .php, aunque puedes seguir aditandolas como HTML y renombrandolas antes de subirlas a tu host.

usuarios.php
(Contiene la info de los usuarios)
Código PHP:
<?PHP
//Usuarios y contraseñas
$admin[1]="xxxxx";       $pass[1]="xxxxxxx";
$admin[2]="xxxxx";       $pass[2]="xxxxxxx";
$admin[3]="xxxxx";       $pass[3]="xxxxxxx";
$admin[4]="xxxxx";       $pass[4]="xxxxxxx";
$admin[5]="xxxxx";       $pass[5]="xxxxxxx";
?>
session.php
(contiene la variable session)
Código PHP:
<?PHP
// Gestionar las sessiones.

//iniciamos sesión.
session_start();

//Variables de usuario.
session_register('online');


//inicializamos.
if (!isset($_SESSION['online'])){$_SESSION['online']=false;}

?>
login.php
(contiene el formulario y logea)
Código PHP:
<?PHP
//Incluimos el archivo session
include("session.php");
//recojo variables
$r_admin=@$_POST['usuario'];
$r_pass=@$_POST['pass'];
if (!empty(
$r_admin) || !empty($r_pass)) {
    
//variables
    
$existe10;
    
$n=1;
       while(!empty(
$admin[$n])) {
          if (
$admin[$n] == $r_admin) {
            
$existe11;
            
$n_admin=$n;
          }
       
$n++;
       }
       if (
$existe1 == 1){
          if ( 
$pass[$n_admin] == $r_pass ) {
            echo 
"Bienvenido <b>".$r_admin."</b><br>Accediendo a la web...";
            
$_SESSION['online']=true;
            
?>
             <script LANGUAGE="JavaScript">
                        var pagina="privado.php"        //Entra a la web de contenido privado
                        function redireccionar() 
                        {
                            location.href=pagina
                        } 
                        setTimeout ("redireccionar()", 3000);
              </script>
             <?PHP 
          
}else{
              echo 
"El password introducido no es valido.<br>Redireccionado...";
              
?>
               <script LANGUAGE="JavaScript">
                        var pagina="login.php"            //Vuelve al login
                        function redireccionar() 
                        {
                            location.href=pagina
                        } 
                        setTimeout ("redireccionar()", 3000);
                </script>
               <?PHP
          
}
              }else{
                 echo 
"No se encuentra el usuario introducido.<br>Redireccionando...";
                 
?>
                 <script LANGUAGE="JavaScript">
                        var pagina="login.php"
                        function redireccionar() 
                        {
                            location.href=pagina
                        } 
                        setTimeout ("redireccionar()", 3000);
                </script>
                 <?PHP 
              
}
          }else{
          
//Si el formulario teine algun campo vacio lo muestra
          
?>
          <form name="login" method="post" action="">
            <input class="input" type="text" name="usuario" value="Usuario" align="middle" /><br>
            <input class="input" type="password" name="pass" value="Contraseña" /><br>
            <input class="boton" type="submit" name="Submit" value="Entrar" />
          </form>
          <?PHP }
//Este archivo contiene el formulario y el motor de logearse
?>
prohibido.php
(Bloquea la entrada si no esta logeado)
Código PHP:
<?PHP 
//Session
include("session.php");
//Comprobamos
if ($_SESSION['online']==false) {
    exit(
"Estas intentado entrar a una zona privada, identificate.");
}
?>
En tu frame de contenido le dices que cargue login.php, dentro de login.php puedes cambiar privado.php por la dirección que quieras que entre cuando este logeado.
Ya esta, ahora para protejer tus paginas usas este codigo:
Código HTML:
<?PHP include("prohibido.php");?> 
La pagina protegida debe ser .php
Lo he preparado aposta para ti, con un gracias me vale
  #5 (permalink)  
Antiguo 02/12/2008, 03:31
 
Fecha de Ingreso: diciembre-2008
Mensajes: 10
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Inicio de session

Un saludo David muchas gracia spor tu codigo me sirvio mucho....

Grax inge ... jeje XD
  #6 (permalink)  
Antiguo 02/12/2008, 13:08
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Inicio de session

Muchas muchas gracias David, muy detallado el codigo y la explicacion... y si ...tienes razon soy novato...je.

Solo me salio un detalle, cuando selecciono el inicio de sesion del menu esto es lo que me carga en el frame de contenido:

".$r_admin."
Accediendo a la web..."; $_SESSION['online']=true; ?> Redireccionado..."; ?> Redireccionando..."; ?>

Los cuadros de texto donde van el usuario y el password.

Y el boton "Entrar"

y al parecer se esta refrescando continuamente y no me da tiempo de teclear mi usuario y password yo pienso que es por el codigo: " setTimeout ("redireccionar()", 3000) "

...ojala puedas seguir ayudando este novato...de cualquier modo gracias kompa
  #7 (permalink)  
Antiguo 02/12/2008, 14:37
 
Fecha de Ingreso: diciembre-2007
Mensajes: 14
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Inicio de session

Bien, es un fallo tontorron poque no te has fijado, que la extension debe de ser .php y la extension de tu archivo no es .html todos los codigos que yo te dí deben de ser .php. Si ya los guardaste como php es posible que tu servidor web no admita, busca otro que si ejecute php.

Tambien comprueba activando en tu pc las extensiones de los archivos, que sus nombres no sean .php.html que tambein es otro fallito que se me ocurre...

Vnga cuidate! y suerte... ya me comentas!
  #8 (permalink)  
Antiguo 03/12/2008, 13:08
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Inicio de session

Ya verifique y todos los codigos que me pasaste y si los guarde con extension .php, de hecho lo hice con el edit plus 2 y pues abria un documento php y ahi pegaba tu codigo.

Y pues lo de que el servidor no admita .php no creo, porque lo estoy probando directamente en mi pc, no se si tenga que activar alguna opcion en mi compu para que los php funcionen... o tu como la ves?
  #9 (permalink)  
Antiguo 03/12/2008, 16:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 14
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Inicio de session

Jejej, ahi esta el problema, si queires verlo desde tu PC debes de instalar algun programa que instale un servidor php como easyphp si usas este, lo isntalas, lo ejecutas, en al carpeta www metes tu web, y con el soft corriendo entras a http://127.0.0.1/ y ya te funciona, otra opcion es subirlo a un host que admita php, Pero el problema es ese.
Un saludo, David
  #10 (permalink)  
Antiguo 03/12/2008, 18:22
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Inicio de session

Gracias David, no necesite instalar nada mejor lo subi al servidor para probarlo ahi y si funciono.... lo unico es que cuando le pongo el usuario y su password me manda el error: " No se encuentra el usuario introducido.<br>Redireccionando... " y pues al codigo de usuario.php solo le cambie las xxxxxx por el usuario y el pass que yo queria y solo le deje 2 usuarios....¿cual sera el problema?
  #11 (permalink)  
Antiguo 11/12/2008, 11:34
 
Fecha de Ingreso: enero-2007
Mensajes: 14
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Inicio de session

Que tal David, pues sabes que no he podido resolver el ultimo detalle que te comente, ojala me pudieras hechar la mano, te lo agradeceria mucho.
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 12:57.