Inicio de sesion

Que tal tengo una duda, con respecto a mi inicio de sesion, tengo dos tablas para lo que es el el usuario y password, pero una de las tablas es para los usuarios en general, y en la otra almaceno lo que es el usuario y contraseña del administrador, ya que segun sea el usuario y la contraseña me debe mandar a cierta pagina, si es el usuario y contraseña del administrador me debe mandar a cierta pagina "principal.php" si no pues es usuario y me debe mandar a otra pagina menu_principal.php, mi base de datos se llama usuarios, mi tabla de contraseñas para usuarios es passsword con los campos USER, y PASS, y para lo que es el administrador la tabla es passadmon, y los campos son USERADMON y PASSADMON, tengo ya un codigo y si me hace bien lo de los usuarios, pero al vdd no se como poner para el administrador, espero me puedas ayudar, saludos
<?php require_once('Connections/conexion_usuarios.php'); ?>
<?php
$colname_PONER_USUARIO = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_PONER_USUARIO = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_conexion_usuarios, $conexion_usuarios);
$query_PONER_USUARIO = sprintf("SELECT `USER` FROM password WHERE `USER` = %s", $colname_PONER_USUARIO);
$PONER_USUARIO = mysql_query($query_PONER_USUARIO, $conexion_usuarios) or die(mysql_error());
$row_PONER_USUARIO = mysql_fetch_assoc($PONER_USUARIO);
$totalRows_PONER_USUARIO = mysql_num_rows($PONER_USUARIO);
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['user'])) {
  $loginUsername=$_POST['user'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "datos completos/menu_principal.php";
  $MM_redirectLoginFailed = "index.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_conexion_usuarios, $conexion_usuarios);
  $LoginRS__query=sprintf("SELECT USER, PASS FROM password WHERE USER='%s' AND PASS='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
  $LoginRS = mysql_query($LoginRS__query, $conexion_usuarios) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;          
    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    left:664px;
    top:263px;
    width:258px;
    height:119px;
    z-index:1;
}
.Estilo1 {
    color: #CCCCCC;
    font-weight: bold;
}
body {
    background-color: #990000;
}
.Estilo2 {color: #CCCCCC}
-->
</style>
<body>
<div id="Layer1">
<form name="contraseña" action="<?php echo $loginFormAction; ?>" method="POST">
<table width="200" border="0">
<tr>
<th scope="col"><span class="Estilo2">Usuarios</span></th>
      <th scope="col"><input name="user" type="text" id="user" size="20" /></th>
</tr>
<tr>
<td><span class="Estilo2"><strong>Contraseña</strong></span></td>
<td><input name="pass" type="text" id="pass" size="20" /></td>
</tr>
</table>
<table width="248" border="0">
<tr>
<th scope="col"><input type="submit" name="login" value="Login"></th>
</tr>
</table>
</form>
<p align="center" class="Estilo1">Registrarme</p>
<p align="center" class="Estilo1">¿Olvidó la Contraseña? </p>
</div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p class="Estilo1">Noticias Generales</p>
<p class="Estilo1">Cursos </p>
</body>
</html>
<?php
mysql_free_result($PONER_USUARIO);
?>

1 Respuesta

Respuesta
1
Lo que puedes hacer es poner un campo en la BD con algo que identifique al admin. Una tabla que se llame Privilegios.
Si eres administrador que ponga un 1 y si no lo es un 0.
Asi al recoger los datos de la bd, puedes poner un if.
$Privilegios = $_row['Privilegios'];
if($Privilegios==1){
echo "Eres admin";  o pones un include(" direccion ");
}else{
echo "Eres usuario";
}
Esto es lo que necesitas.
ok lo checo y te digo mi resultado gracias
Qué tal a ido?
no me sale nada!!!!, una disculpa es ke no tenia internet, ya borre lo ke tenia es que el inicio de sesion me sale pero no me identifica lo del administrador, se que es una IF, pero no se como colocarlo, agrege en alli lo que es el campo del administrador, osea que el usuario seria 12345678 y el password es administra, se ke es asi
Si usuario es = a 12345678 y password es = a admisnistra entonces ke me mande a la pagina administrador/menu_principal/menu1.php si no ke haga lo ke se ve alli en el codigo, pero la verdad no se como colocar esto alli en el codigo o como hacerle
AÑade un campo nuevo a la BD y pon de nombre Privilegios, y a los administradores les pones un 1, y si no un 0.
Es muy sencillo cuando lo coges.
otra vez una disculpa por tarda en contestar, solo ke estoy batallando con este internet, por fn logre lo de los privilegios aki te pongo el codigo, o por si alguin ve este coment
<?php require_once('Connections/conexion_usuarios.php'); ?>
<?php
$colname_PONER_USUARIO = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_PONER_USUARIO = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_conexion_usuarios, $conexion_usuarios);
$query_PONER_USUARIO = sprintf("SELECT `USER` FROM password WHERE `USER` = %s", $colname_PONER_USUARIO);
$PONER_USUARIO = mysql_query($query_PONER_USUARIO, $conexion_usuarios) or die(mysql_error());
$row_PONER_USUARIO = mysql_fetch_assoc($PONER_USUARIO);
$totalRows_PONER_USUARIO = mysql_num_rows($PONER_USUARIO);
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['user'])) {
  $loginUsername=$_POST['user'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "datos completos/menu_principal.php";
  $MM_redirectLoginSuccess1 = "Administrador/marco principal/menu1.php";
  $MM_redirectLoginFailed = "index.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_conexion_usuarios, $conexion_usuarios);
  $LoginRS__query=sprintf("SELECT * FROM password WHERE USER='%s' AND PASS='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
  $LoginRS = mysql_query($LoginRS__query, $conexion_usuarios) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  $resultado = mysql_fetch_array ($LoginRS);
  $cambio1=$resultado["CAMBIO"];
  $id1=$resultado["ID"];
  //echo $cambio1;
  if ($loginFoundUser) {
     if($cambio1=="0"){
         $loginStrGroup = "";
        //declare two session variables and assign them
        $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;    
        $_SESSION['MM_id'] = $id1;      
        if (isset($_SESSION['PrevUrl']) && false) {
          $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
        }
        header("Location: " . $MM_redirectLoginSuccess );
    }
    else{
        //declare two session variables and assign them
        $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;          
        if (isset($_SESSION['PrevUrl']) && false) {
          $MM_redirectLoginSuccess1 = $_SESSION['PrevUrl'];    
        }
        header("Location: " . $MM_redirectLoginSuccess1 );
    }
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    left:664px;
    top:263px;
    width:258px;
    height:119px;
    z-index:1;
}
.Estilo1 {
    color: #CCCCCC;
    font-weight: bold;
}
body {
    background-color: #990000;
}
.Estilo2 {color: #CCCCCC}
#Layer2 {
    position:absolute;
    left:7px;
    top:280px;
    width:287px;
    height:192px;
    z-index:2;
}
a:link {
    color: #CCCCCC;
}
a:visited {
    color: #CCCCCC;
}
a:hover {
    color: #CCCCCC;
}
a:active {
    color: #CCCCCC;
}
-->
</style>
<body>
<div id="Layer1">
<form name="contraseña" action="<?php echo $loginFormAction; ?>" method="POST">
<table width="200" border="0">
<tr>
<th scope="col"><span class="Estilo2">Usuarios</span></th>
      <th scope="col"><input name="user" type="text" id="user" size="20" /></th>
</tr>
<tr>
<td><span class="Estilo2"><strong>Contraseña</strong></span></td>
<td><input name="pass" type="password" id="pass" size="20" /></td>
</tr>
</table>
<table width="248" border="0">
<tr>
<th scope="col"><input type="submit" name="login" value="Login"></th>
</tr>
</table>
</form>
<p align="center" class="Estilo1"><a href="registro/nueva_contrasena.php">Registrarme</a></p>
<p align="center" class="Estilo1">¿Olvidó la Contraseña? </p>
</div>
<div id="Layer2">
<table width="200" border="0">
<tr>
<td><img src="imagenes/Dibujo.JPG" alt="tec" width="649" height="220" /></td>
</tr>
</table>
</div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p class="Estilo1">Noticias Generales</p>
<p class="Estilo1">Cursos </p>
</body>
</html>
<?php
mysql_free_result($PONER_USUARIO);
?>
oye solo otra dudita, ya tengo a varios usuario en la bd, esta bd me la habia pasado antes y la cargue, ellos al entrar su user y pass va a ser el mismo, necesito identificar ke sea su primera vez ke ingresan me mande a la pantalla de cambio de contraseña para ke cambien su contraseña por la ke ellos kieren, pero si es la segunada vez que ingresen normal osea que los que ingresan normal es porque que ya cambairon su contraseña o ellos se registraron, y no estaba ne la bd, espero explicarme saludos!!!
a perdon eso que digo seria sobre este codigo, osea como agregar eso??, ya que ki es donde se ve lo de la sesion, y te copio otra vez el codigo para ke veas el cambio ke hice lo que agrege lo pongo en negrita, el 0, es para los usuarios y el 1 para el administrador:
<?php require_once('Connections/conexion_usuarios.php'); ?>
<?php
$colname_PONER_USUARIO = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_PONER_USUARIO = (get_magic_quotes_gpc()) ? $_SESSION['MM_Username'] : addslashes($_SESSION['MM_Username']);
}
mysql_select_db($database_conexion_usuarios, $conexion_usuarios);
$query_PONER_USUARIO = sprintf("SELECT `USER` FROM password WHERE `USER` = %s", $colname_PONER_USUARIO);
$PONER_USUARIO = mysql_query($query_PONER_USUARIO, $conexion_usuarios) or die(mysql_error());
$row_PONER_USUARIO = mysql_fetch_assoc($PONER_USUARIO);
$totalRows_PONER_USUARIO = mysql_num_rows($PONER_USUARIO);
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['user'])) {
  $loginUsername=$_POST['user'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "datos completos/menu_principal.php";
  $MM_redirectLoginSuccess1 = "Administrador/marco principal/menu1.php";
  $MM_redirectLoginFailed = "index.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_conexion_usuarios, $conexion_usuarios);
  $LoginRS__query=sprintf("SELECT * FROM password WHERE USER='%s' AND PASS='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
  $LoginRS = mysql_query($LoginRS__query, $conexion_usuarios) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  $resultado = mysql_fetch_array ($LoginRS);
  $cambio1=$resultado["CAMBIO"];
  $id1=$resultado["ID"];
  //echo $cambio1;
  if ($loginFoundUser) {
     if($cambio1=="0"){
         $loginStrGroup = "";
        //declare two session variables and assign them
        $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;    
        $_SESSION['MM_id'] = $id1;      
        if (isset($_SESSION['PrevUrl']) && false) {
          $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
        }
        header("Location: " . $MM_redirectLoginSuccess );
    }
    else{
        //declare two session variables and assign them
        $_SESSION['MM_Username'] = $loginUsername;
        $_SESSION['MM_UserGroup'] = $loginStrGroup;          
        if (isset($_SESSION['PrevUrl']) && false) {
          $MM_redirectLoginSuccess1 = $_SESSION['PrevUrl'];    
        }
        header("Location: " . $MM_redirectLoginSuccess1 );

    }
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    left:664px;
    top:263px;
    width:258px;
    height:119px;
    z-index:1;
}
.Estilo1 {
    color: #CCCCCC;
    font-weight: bold;
}
body {
    background-color: #990000;
}
.Estilo2 {color: #CCCCCC}
#Layer2 {
    position:absolute;
    left:7px;
    top:280px;
    width:287px;
    height:192px;
    z-index:2;
}
a:link {
    color: #CCCCCC;
}
a:visited {
    color: #CCCCCC;
}
a:hover {
    color: #CCCCCC;
}
a:active {
    color: #CCCCCC;
}
-->
</style>
<body>
<div id="Layer1">
<form name="contraseña" action="<?php echo $loginFormAction; ?>" method="POST">
<table width="200" border="0">
<tr>
<th scope="col"><span class="Estilo2">Usuarios</span></th>
      <th scope="col"><input name="user" type="text" id="user" size="20" /></th>
</tr>
<tr>
<td><span class="Estilo2"><strong>Contraseña</strong></span></td>
<td><input name="pass" type="password" id="pass" size="20" /></td>
</tr>
</table>
<table width="248" border="0">
<tr>
<th scope="col"><input type="submit" name="login" value="Login"></th>
</tr>
</table>
</form>
<p align="center" class="Estilo1"><a href="registro/nueva_contrasena.php">Registrarme</a></p>
<p align="center" class="Estilo1">¿Olvidó la Contraseña? </p>
</div>
<div id="Layer2">
<table width="200" border="0">
<tr>
<td><img src="imagenes/Dibujo.JPG" alt="tec" width="649" height="220" /></td>
</tr>
</table>
</div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p class="Estilo1">Noticias Generales</p>
<p class="Estilo1">Cursos </p>
</body>
</html>
<?php
mysql_free_result($PONER_USUARIO);
?>
¿Lo de los administradores ya te va no?
Para hacer lo que dices se puede hcer de varios formas.
Añadiendo otro campo en la BD y al modificar el pass o al ir a la modificacion del pass haga un UPDATE y modifique el campo de la BD, ejemplo, tambien puedes poner 0 y 1, si es 1 que vaya a la modificación del pass.
O puedes hacer que compare contraseñas, si la contraseña es igual a esta, entonces me haces esto sino que entre normal.
honestamente no se como utilizar el update, lo que me comentas de los 0 y 1 si lo habia pensado, tenia pensado agregar otro campo llamado CAMBIO_CONTRASEÑA en donde todos esten en cero, bueno todos los que ya esten en la bd tendran un cero los que se vayan registrando tendran ya un 1, pero como poder hacer esto en este codigo?? la vdd no tengo la menor duda jajaja
Acabo de ver el email, no he tenido mucho tiempo para esto.
Mira, este codigo es un ejemplo de para hacer un update:
$qry = "update usuarios set pass = '1' where id = $id";
        mysql_query($qry)
Esto te puede servir, $id es la id del usuario que esta registrado para que coja solo la fila necesaria. Se envia al entrar o con la sesion abierta, se puede hacer de muchas maneras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas