Foros del Web » Programando para Internet » PHP »

Login de Usuarios: tengo mezclado el código

Estas en el tema de Login de Usuarios: tengo mezclado el código en el foro de PHP en Foros del Web. Hola a todos! Tengo este código para loguear a mis usuarios en varias páginas, pero quisiera saber si puedo poner todo esto en un mismo ...
  #1 (permalink)  
Antiguo 03/10/2008, 10:45
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Login de Usuarios: tengo mezclado el código

Hola a todos! Tengo este código para loguear a mis usuarios en varias páginas, pero quisiera saber si puedo poner todo esto en un mismo acceso.php para ver si puedo utilizarlo haciendo un include en mi index.php

Esto está actualmente en el index.php
Código PHP:
session_start(); 
include(
'conectar.php'); //incluimos el config.php que contiene los datos de la conexión a la db

if(!isset($_SESSION['usuario']) ) //comprobamos que no existe la session, es decir, que no se ha logeado, y mostramos el form
{

//Creamos el form k ira a autentificar.php para comprobar los datos con la tabla usuarios
    
echo '<table width="93%" border="0" align="center" cellpadding="0" cellspacing="0" class="txt-verd-08">';
       echo 
'<FORM ACTION="acc/autentificar.php" METHOD="POST">';
      echo 
'<tr>';
    echo 
'  <td width="28%" align="right" class="txt-verd-08">usuario</td>';
    echo 
'  <td width="42%" align="right"><input type="text" name="nick" size="15" class="txt-verd-08"></td>';
    echo 
'  <td></td>';
    echo 
'</tr>';
      echo 
'<tr>';
    echo 
'  <td align="right" class="txt-verd-08">contraseña</td>';
    echo 
'  <td align="right"><input type="password" name="pass" size="15" class="txt-verd-08"></td>';
    echo 
'  <td align="center" width="14%"><INPUT NAME=" Ir " TYPE="submit" VALUE=" Ir "></td>';
    echo 
'</tr>';
    echo 
'  <tr>';
    echo 
'    <td align="center" colspan="3" class="txt-verd-07">acceso clientes registrados</td>';
    echo 
'  </tr>';
       echo 
'</FORM>';
       echo 
'</table>';

}else{

//SI se ha logeado, mostramos el nick y la opcion de deslogearse

    
echo '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0" class="txt-verd-08">';
      echo 
'<tr>';
       echo     
'<td align="center" height="20">Bienvenido '.$_SESSION['usuario']; '</td>';
    echo 
'</tr>';
      echo 
'<tr>';
       echo     
'<td align="center" height="20"><a href="javascript:abrirVentana()">Ir a pagina privada</a></td>';
    echo 
'</tr>';
      echo 
'<tr>';
       echo     
'<td align="center" height="20"><a href=acc/logout.php>Salir</a></td>';
    echo 
'</tr>';
       echo 
'</table>';


y esto en otra página
Código PHP:
session_start();
include(
'conectar.php'); //incluimos el config.php que contiene los datos de la conexión a la db

$nick mysql_real_escape_string($_POST['nick']);
$pass mysql_real_escape_string($_POST['pass']);


//comprobamos en la db si existe ese nick con esa pass
$usuarios mysql_query("SELECT * FROM usuario WHERE nick_usuario = '$nick' AND pass_usuario = '$pass'");

if(
$user_ok mysql_fetch_array($usuarios)) //si existe comenzamos con la sesion, si no, al index
{

//damos valores a las variables de la sesión
$_SESSION['usuario'] = $user_ok["nick_usuario"]; //damos el nick a la variable usuario
$_SESSION['codusuario'] = $user_ok["id_usuario"]; //damos la id del user a la variable idusuario
Header("Location: ../index.php"); //volvemos al login donde nos saldrá nuestro menú de usuario

}else{

echo 
'USUARIO y PASSWORD INCORRECTOS';
echo 
'<INPUT name="button" type="button" onClick="history.go(-1)" value="Volver">';} 
¿Se puede unificar todo esto?

Muchas gracias.
Saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #2 (permalink)  
Antiguo 03/10/2008, 11:00
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Login de Usuarios: tengo mezclado el código

HOla!!! quizas te resulte util hecharle una mirada a esto
Sistema registro y reconocimiento de usuarios

Espero que te sirva.
Saludos
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 03/10/2008, 11:08
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 21 años, 11 meses
Puntos: 1
Respuesta: Login de Usuarios: tengo mezclado el código

Me fue muy util, gracias, pero mi pregunta era si el codigo se puede unificar en una sola página php, que es lo que estoy tratando de hacer.

Saludos. Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.
  #4 (permalink)  
Antiguo 03/10/2008, 11:36
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: Login de Usuarios: tengo mezclado el código

Create un formulario de ingreso a tu pagina, ese formulario debe ir a un script login.php, en este script debes hacer la validación del usuario y guardar en una variable de sesion por ejemplo el nick de la persona.

Código:
<?php
$nick = $_POST['nick'];
$pass = $POST['pass'];

if(validar($nick,$pass)){
     session_start();
    $_SESSION['nick'] = $nick;
}
else{
   //Lo mandas a una pagina de error o lo envias de nuevo al form de login
}

function validar($nick,$pass){
    //do something
}
?>
Luego creas un script seguridad.php, en donde si existe esa variable de sesion no hace nada, pero si no existe se le envia a tu formulario de ingreso nuevamente:

Código:
<?php
session_start();
if($_SESSION['nick'] == null){
      header('location:form_login.php');//Aqui lo redireccionas al form de login o a una pagina de error
}
?>
ahora en todas las paginas que quieras darle seguridad solo hazle un:

Código:
<?php
require('seguridad.php');
//De aqui va todo el codigo de tu pagina
?>
Si no ha iniciado sesion automaticamente lo redireccionará a la pagina de login



Recuerda que el codigo que te estoy poniendo es solo una idea de como puedes hacerlo, no es que lo tienes que hacer igual.

Espero haberte ayudado, saludos.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
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 23:04.