PHP - Administración de usuarios

   
Vista:
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 18/06/2015 18:16:31
Hola buen día. disculpen la molestia quisiera que me ayune con un código PHP;

tengo una pagina llamada Login.php con la cual valido usuarios para su ingreso al sistema; el código funciona
bien pero el problema es que no distingue entre un usuario administrador y un usuario no administrador; es decir quisiera que el código al loguearse un usuario verifique en la base de datos si es administrador o usuario normal y si es administrador vaya a la pagina de administrador y si es usuario normal vaya a su respectiva pagina. a continuación les envió mi código. gracias de antemano y mil disculpas.

Login.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
session_start();
if(!isset($_SESSION['intentos']))
 {$_SESSION['intentos'] = 0 ;}
 
	if ($_SESSION['intentos'] < 3 )
	{
		require_once('funciones.php');
		conectar('localhost', 'root', '#########', 'nombreBD);
		$usuario = strip_tags($_POST['usuario']);
		$clave = strip_tags(sha1($_POST['clave']));
		
		$query = @mysql_query('SELECT * FROM usuarios WHERE usuario="'.mysql_real_escape_string($usuario).'" AND clave="'.mysql_real_escape_string($clave).'"');
	
		if ($existe = @mysql_fetch_object($query)) 
		 { 
 		 $_SESSION['logged'] = 'yes';
   		 $_SESSION['usuario'] = $usuario;
     	 echo '<script>window.location="logeado.php"</script>';
		 } 
		else 
		{ $_SESSION['intentos'] ++ ;
		
		echo 'El usuario y/o pass son incorrectos.'.$_SESSION['intentos'];}
	} 
	else
 	{
	
	echo 'limite de intentos superado.' .$_SESSION['intentos'];
	
	session_destroy();
	
	header('Location: http://www.google.com.pe');
 
	}
 
?>

Logueado.php

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
session_start();
if($_SESSION['logged'] == 'yes')
{
	echo 'Bienvenido '.$_SESSION['usuario'].'.';
	header('Location: gestion_administrador.php');
}
 
else{
	echo 'No estas logeado.';
	header('Location: http://www.google.com.pe');
}
?>
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 david

Administración de usuarios

Publicado por david (13 intervenciones) el 18/06/2015 18:43:46
¿cual es la estructura de tu tabla en la base de datos?

si solo tienes la información del usuario como id, nombre y contraseña deberás anexar un campo que sea nivel de acceso y así podrías diferenciar el nivel de permiso del usuario ejemplo
1 = administrador
2 = usuario normal.

1
2
3
4
5
6
7
8
9
$query = @mysql_query('SELECT * FROM usuarios WHERE usuario="'.mysql_real_escape_string($usuario).'" AND clave="'.mysql_real_escape_string($clave).'"');
 
if ($existe = @mysql_fetch_object($query))
{
	$_SESSION['logged'] = 'yes';
	$_SESSION['usuario'] = $usuario;
			$_SESSION['nivel_acceso'] = $nivel_acceso;      // esta seria la variable que le aria falta a tu código 
	echo '<script>window.location="logeado.php"</script>';
}


y en esta parte solo bastaria agregar una condicion en el if

1
2
3
4
5
6
7
8
9
10
if($_SESSION['logged'] == 'yes' && $usuario == 1)
{ // si el usuario existe y el nivel de usuario es administrador (TOP)
	echo 'Bienvenido '.$_SESSION['usuario'].'.';
	header('Location: gestion_administrador.php');
} // si el usuario existe y el nivel de usuario es administrador (BOTTOM)
 
else{
	echo 'No estas logeado.';
	header('Location: http://www.google.com.pe');
}

espero te sirva
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 18/06/2015 23:28:36
hola david,

esta es la estructura que tengo en mi tabla usuarios:

Usuarios
id_usuario
nombre_usuario
dni
clave
email
cargo
ip


en el campo cargo especifico el nivel de usuario (administrador ó usuario normal)

estar bien de esa forma?
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
Imágen de perfil de david

Administración de usuarios

Publicado por david (13 intervenciones) el 19/06/2015 00:10:32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
//Consultar si los datos son est?n guardados en la base de datos
$consulta= "SELECT id_usuario,nombre_usuario,clave,cargo FROM usuarios WHERE usuario='".$usuario."' AND clave='".$clave."'";
$resultado= mysql_query($consulta,$conex) or die (mysql_error());
$fila=mysql_fetch_array($resultado);
//mysql_close($consulta);
 
if (!$fila[0])
  { //opcion1: Si el usuario NO existe o los datos son INCORRRECTOS (TOP)
	echo '<script language = javascript>
	alert("Usuario o contrase?a erroneos, por favor verifique.")
	self.location = "index.php"
	</script>';
  } //opcion1: Si el usuario NO existe o los datos son INCORRRECTOS (BOTTOM)
else
  {
	$_SESSION['logged'] = 'yes';
	$_SESSION['id_usuario'] = $fila['id_usuario'];
	$_SESSION['nombre'] = $fila['nombre_usuario'];
	$_SESSION['cargo'] = $fila['cargo'];
	mysql_close($resultado);
 
	if ($_SESSION['logged'] == 'yes' && $_SESSION['cargo'] == 1)
	  { // si el usuario existe y el cargo es 1 (administrador)
 
		 echo 'Bienvenido '.$_SESSION['nombre_usuario'].'.';
		 header('Location: gestion_administrador.php');
	  } // si el usuario existe y el cargo es 1 (administrador)
	else
	  { // si el usuario existe y el cargo es usuario normal
		echo 'No estas logeado.';
	header('Location: http://www.google.com.pe');
 
	}
}
mira te dejo un ejemplo de como lo aria yo tu codigo esta bien solo tienes que especificar en la consulta que campos quieres que serian el nombre y la contraseña del usuario mas su cargo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if($_SESSION['logged'] == 'yes') // aqui solo bastaria agregar la variable del cvargo que lees de tu consulta
 
asi
 
if($_SESSION['logged'] == 'yes' && $_SESSION['cargo'] == "aqui va el valor del cargo" )
 
depende de como tengas el valor ejemplo si lo tienes
 
1 = administrador
seria
if($_SESSION['logged'] == 'yes' && $_SESSION['cargo'] == 1 )
si poner como tal el nombre en tu base de daos seria
 
if($_SESSION['logged'] == 'yes' && $_SESSION['cargo'] == "administrador" )
 
espero te sirva
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 19/06/2015 00:50:49
ya se me va aclarando el panorama; voy a poner en practica lo sugerido y luego te comento.. gracias por la atención.
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 19/06/2015 01:35:48
hola david.
bueno entonces me quedaría así mi pagina : Login.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
session_start();
if(!isset($_SESSION['intentos']))
 {$_SESSION['intentos'] = 0 ;}
 
	if ($_SESSION['intentos'] < 3 )
	{
		require_once('funciones.php');
		conectar('localhost', 'root', 'simplementemas', 'logistica_restaurant');
		$usuario = strip_tags($_POST['usuario']);
		$clave = strip_tags(sha1($_POST['clave']));
 
		$consulta= "SELECT id_usuario,usuario,clave,cargo FROM usuarios WHERE usuario='".$usuario."' AND clave='".$clave."'";
        $resultado= mysql_query($consulta,$conex) or die (mysql_error());
        $fila=mysql_fetch_array($resultado);
        //mysql_close($consulta);
 
		if (!$fila[0])
  		{ //opcion1: Si el usuario NO existe o los datos son INCORRRECTOS (TOP)
		echo '<script language = javascript>
		alert("Usuario o contrase?a erroneos, por favor verifique.")
		self.location = "index.php"
		</script>';
 		 } //opcion1: Si el usuario NO existe o los datos son INCORRRECTOS (BOTTOM)
		else
  		{
		$_SESSION['logged'] = 'yes';
		$_SESSION['id_usuario'] = $fila['id_usuario'];
		$_SESSION['nombre'] = $fila['usuario'];
		$_SESSION['cargo'] = $fila['cargo'];
		mysql_close($resultado);
 
     	 echo '<script>window.location="logeado.php"</script>';
		 }
		else
		{ $_SESSION['intentos'] ++ ;
 
		echo 'El usuario y/o pass son incorrectos.'.$_SESSION['intentos'];}
	}
	else
 	{
 
	echo 'limite de intentos superado.' .$_SESSION['intentos'];
 
	session_destroy();
 
	header('Location: http://www.google.com.pe');
 
	}
 
?>

y asi mi pagina: logeado.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
session_start();
if ($_SESSION['logged'] == 'yes' && $_SESSION['cargo'] == Administrador)
	  { // si el usuario existe y el cargo es administrador
 
		 echo 'Bienvenido '.$_SESSION['nombre_usuario'].'.';
		 header('Location: gestion_administrador.php');
	  } // si el usuario existe y el cargo es administrador
	else
	  { // si el usuario existe y el cargo es usuario normal
		echo 'No estas logeado.';
	header('Location: http://www.google.com.pe');
}
?>

estará bien así o hay algo de mas o de menos?

disculpa la molestia lo que pasa es que estoy algo perdido.
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
Imágen de perfil de david

Administración de usuarios

Publicado por david (13 intervenciones) el 19/06/2015 01:58:11
al parecer esta todo bien ahora solo necesitas probarla para ver si el resultado es el que quieres, solo en esta linea
1
if ($_SESSION['logged'] == 'yes' && $_SESSION['cargo'] == Administrador) // Administrador va entre comillas 'Administrador'
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 19/06/2015 17:29:14
Hola david .

desde anoche estoy corriendo el código pero al hacerlo me genera una serie de errores de los cuales corregí algunos, pero hay dos que puedo solucionar haber si me das una mano porfavor:

los errores son:

Notice: Undefined variable: conex in D:\Xampp\htdocs\logistica\login.php on line 14

Warning: mysql_query() expects parameter 2 to be resource, null given in D:\Xampp\htdocs\logistica\login.php on line 14

Login.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
session_start();
if(!isset($_SESSION['intentos']))
 {$_SESSION['intentos'] = 0 ;
 
		if ($_SESSION['intentos'] < 3 )
		{
		require_once('funciones.php');
		conectar('localhost', 'root', 'simplementemas', 'logistica_restaurant');
		$usuario = strip_tags($_POST['usuario']);
		$clave = strip_tags(sha1($_POST['clave']));
 
		$consulta= "SELECT id_usuario,usuario,clave,cargo FROM usuarios WHERE usuario='".$usuario."' AND clave='".$clave."'";
        $resultado= mysql_query($consulta,$conex) or die (mysql_error());
        $fila=mysql_fetch_array($resultado);
 
				if (!$fila[0])
  				{
				echo '<script language = javascript>
				alert("Usuario o contrase?a erroneos, por favor verifique.")
				self.location = "index.php"
				</script>';
 				}
				else
  				{
				$_SESSION['logged'] = 'yes';
				$_SESSION['id_usuario'] = $fila['id_usuario'];
				$_SESSION['nombre'] = $fila['usuario'];
				$_SESSION['cargo'] = $fila['cargo'];
				mysql_close($resultado);
				echo '<script>window.location="logeado.php"</script>';
				}
		 }
		 else
		 { $_SESSION['intentos'] ++ ;
 
		 echo 'El usuario y/o pass son incorrectos.'.$_SESSION['intentos'];
		 }
}
else
{
	echo 'limite de intentos superado.' .$_SESSION['intentos'];
	session_destroy();
	header('Location: http://www.google.com.pe');
}
 
?>
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
Imágen de perfil de david

Administración de usuarios

Publicado por david (13 intervenciones) el 19/06/2015 19:00:43
los errores son porque te falta definir la conexión a la base de datos por eso te sale los errores mira así quedaría el código con la conexión solo remplaza los valores de tu usuario y contraseña como te conectas a la base

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//Proceso de conexión con la base de datos
$server="localhost";
$username="tuusuario";
$password="tucontraseña";
$dataBase="formulario";
$conex = @mysql_connect($server, $username, $password)
		or die("No se pudo realizar la conexion");
	@mysql_select_db("usuarios ",$conex)
		or die("ERROR con la base de datos");
 
<?php
session_start();
if(!isset($_SESSION['intentos']))
 {$_SESSION['intentos'] = 0 ;
 
		if ($_SESSION['intentos'] < 3 )
		{
		require_once('funciones.php');
		conectar('localhost', 'root', 'simplementemas', 'logistica_restaurant');
		$usuario = strip_tags($_POST['usuario']);
		$clave = strip_tags(sha1($_POST['clave']));
 
		$consulta= "SELECT id_usuario,usuario,clave,cargo FROM usuarios WHERE usuario='".$usuario."' AND clave='".$clave."'";
        $resultado= mysql_query($consulta,$conex) or die (mysql_error());
        $fila=mysql_fetch_array($resultado);
 
				if (!$fila[0])
  				{
				echo '<script language = javascript>
				alert("Usuario o contrase?a erroneos, por favor verifique.")
				self.location = "index.php"
				</script>';
 				}
				else
  				{
				$_SESSION['logged'] = 'yes';
				$_SESSION['id_usuario'] = $fila['id_usuario'];
				$_SESSION['nombre'] = $fila['usuario'];
				$_SESSION['cargo'] = $fila['cargo'];
				mysql_close($resultado);
				echo '<script>window.location="logeado.php"</script>';
				}
		 }
		 else
		 { $_SESSION['intentos'] ++ ;
 
		 echo 'El usuario y/o pass son incorrectos.'.$_SESSION['intentos'];
		 }
}
else
{
	echo 'limite de intentos superado.' .$_SESSION['intentos'];
	session_destroy();
	header('Location: http://www.google.com.pe');
}
 
?>
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 20/06/2015 01:51:17
hola david disculpa las molestias .

agregue la parte de la conexión con la base de datos como me sugeriste ya al ejecutar el código me sale este mensaje:

ERROR con la base de datos

al parecer si conecta la base de datos pero no se por que me sale esto.
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
Imágen de perfil de david

Administración de usuarios

Publicado por david (13 intervenciones) el 20/06/2015 02:30:09
modifica esta linea de código la razon es que tiene un espacio en blanco en el nombre de la tabla "usuarios "<= ahi esta el espacio en blanco
1
@mysql_select_db("usuarios ",$conex)

solo quita el espacio y me dices si funciona

1
@mysql_select_db("usuarios",$conex)
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 20/06/2015 02:54:30
ya lo hice y me sigue saliendo el mismo mensaje.

ERROR con la base de datos
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
Imágen de perfil de david

Administración de usuarios

Publicado por david (13 intervenciones) el 20/06/2015 03:00:51
yo estoy suponiendo que tu base de datos se llama "usuarios" se llama así tu base de datos?? si no solo debes poner el nombre de tu base de datos en tu código original pones que se llama "nombreBD" no se si sea el nombre de tu base si no lo es solo pon el nombre de tu base de datos

1
@mysql_select_db("nombre_de_tu_base_de_datos",$conex)

espero te sirva
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 20/06/2015 03:27:46
efectivamente mi estimado david mi base de datos se llama "usuarios" así como figura en el primer código que puse al iniciar este tema; cave resaltar que con ese código si logro conectar a la base de datos y ejecutarlo sin problema.
me refiero a este código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
session_start();
if(!isset($_SESSION['intentos']))
 {$_SESSION['intentos'] = 0 ;}
 
	if ($_SESSION['intentos'] < 3 )
	{
		require_once('funciones.php');
		conectar('localhost', 'root', '#########', 'nombreBD);
		$usuario = strip_tags($_POST['usuario']);
		$clave = strip_tags(sha1($_POST['clave']));

 
		$query = @mysql_query('SELECT * FROM usuarios WHERE
 
                usuario="'.mysql_real_escape_string($usuario).'" AND clave="'.mysql_real_escape_string($clave).'"');

 
		if ($existe = @mysql_fetch_object($query))
		 {
 		 $_SESSION['logged'] = 'yes';
   		 $_SESSION['usuario'] = $usuario;
     	 echo '<script>window.location="logeado.php"</script>';
		 }
		else
		{ $_SESSION['intentos'] ++ ;
 
		echo 'El usuario y/o pass son incorrectos.'.$_SESSION['intentos'];}
	}
	else
 	{
 
	echo 'limite de intentos superado.' .$_SESSION['intentos'];
 
	session_destroy();
 
	header('Location: http://www.google.com.pe');
 
	}
 
?>
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 20/06/2015 03:55:59
ahora veo el error mi tabla se llama "usuarios" y mi base de datos se llama "logistica_restaurant" ya lo cambie voy a probarlo y te comento.
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 20/06/2015 04:40:58
ahora tengo el código así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
$server="localhost";
$username="root";
$password="simplementemas";
$db="logistica_restaurant";
$conex = @mysql_connect($server, $username, $password, $db)
		or die("No se pudo realizar la conexion");
	@mysql_select_db("logistica_restaurant",$conex)
		or die("ERROR con la base de datos");
 ?>
<?php
session_start();
if(!isset($_SESSION['intentos']))
 {$_SESSION['intentos'] = 0 ;
 
		if ($_SESSION['intentos'] < 3 )
		{
 
		$usuario = strip_tags($_POST['usuario']);
		$clave = strip_tags(sha1($_POST['clave']));
 
		$consulta= "SELECT id_usuarios,usuario,clave,cargo FROM usuarios WHERE usuario='".$usuario."' AND clave='".$clave."'";
        $resultado= mysql_query($consulta,$conex) or die (mysql_error());
        $fila=mysql_fetch_array($resultado);
 
				if (!$fila[0])
  				{
				echo '<script language = javascript>
				alert("Usuario o contrase?a erroneos, por favor verifique.")
				self.location = "index.php"
				</script>';
 				}
				else
  				{
				$_SESSION['logged'] = 'yes';
				$_SESSION['id_usuarios'] = $fila['id_usuarios'];
				$_SESSION['nombre'] = $fila['usuario'];
				$_SESSION['cargo'] = $fila['cargo'];
				mysql_close($resultado);
				echo '<script>window.location="logeado.php"</script>';
				}
		 }
		 else
		 { $_SESSION['intentos'] ++ ;
 
		 echo 'El usuario y/o pass son incorrectos.'.$_SESSION['intentos'];
		 }
}
else
{
	echo 'limite de intentos superado.' .$_SESSION['intentos'];
	session_destroy();
	header('Location: http://www.google.com.pe');
}
 
?>

y al ejecutarlo me genera el siguiente error:

Warning: mysql_close(): supplied resource is not a valid MySQL-Link resource in D:....... line 39.

e inmediatamente después aparece la pagina de www.google.com ; pagina que debería aparecer al sobrepasar los tres intentos fallidos al loguearse.
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
Imágen de perfil de xve

Administración de usuarios

Publicado por xve (5515 intervenciones) el 20/06/2015 08:46:18
Yo no hago nunca el mysql_close(), pero si lo haces, tienes que hacerlo pasando como parametro la conexion, no la consulta.

1
mysql_close($conex);
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
Imágen de perfil de MAS82

Administración de usuarios

Publicado por MAS82 (23 intervenciones) el 20/06/2015 14:31:13
hola david, buenos días te comento que el logrado correr sin errores el código, tuve que subir el contador hacia el if de arriba ya que no estaba contando , ademas eliminar algunas cosas que estaban demás y bueno me quedo de esta forma el login.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
$server="localhost";
$username="root";
$password="simplementemas";
$db="logistica_restaurant";
$conex = mysql_connect($server, $username, $password, $db)
		or die("No se pudo realizar la conexion");
	mysql_select_db("logistica_restaurant",$conex)
		or die("ERROR con la base de datos");
 ?>
<?php
session_start();
if(!isset($_SESSION['intentos']))
 {$_SESSION['intentos'] = 0 ;}
 
		if ($_SESSION['intentos'] < 3 )
		{
 
		$usuario = strip_tags($_POST['usuario']);
		$clave = strip_tags(sha1($_POST['clave']));
 
		$consulta= "SELECT id_usuarios,usuario,clave,cargo FROM usuarios WHERE usuario='".$usuario."' AND clave='".$clave."'";
        $resultado= mysql_query($consulta,$conex) or die (mysql_error());
        $fila=mysql_fetch_array($resultado);
 
				if (!$fila[0])
  				{
				$_SESSION['intentos'] ++ ;
				echo '<script language = javascript>
				alert("Usuario o contrase?a erroneos, por favor verifique.")
				self.location = "login.html"
				</script>';
 
 				}
				else
  				{
				$_SESSION['logged'] = 'yes';
				$_SESSION['id_usuarios'] = $fila['id_usuarios'];
				$_SESSION['nombre'] = $fila['usuario'];
				$_SESSION['cargo'] = $fila['cargo'];
				mysql_close($conex);
				echo '<script>window.location="logeado.php"</script>';
				}
		}
		else
		{
 
		echo '<script language = javascript>
				alert("limite de intentos superado.")
				self.location = "http://www.google.com.pe"
				</script>';
	   }
 
?>

ademas acomode un poco mi pagina logeado.php para que si el usuario no es administrador me dirija a la pagina del usuario normal quedándome de esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
session_start();
if ($_SESSION['logged'] == 'yes' && $_SESSION['cargo'] == "administrador")
	  { // si el usuario existe y el cargo es 1 (administrador)
 
		 echo 'Bienvenido '.$_SESSION['nombre_usuario'].'.';
		 header('Location: gestion_administrador.php');
	  } // si el usuario existe y el cargo es 1 (administrador)
	else
	  { // si el usuario existe y el cargo es usuario normal
		echo 'Bienvenido '.$_SESSION['nombre_usuario'].'.';
		 header('Location: gestion_auxiliar_almacen.php');
}
?>

Realmente quiero agradecerte por la ayuda brindada; es bueno saber que hay gente dispuesta a colaborar con quienes recién estamos incursionando en el mundo del desarrollo y no contamos con un profesor que nos guié.
gracias por la paciencia y la gentileza.

no se si me podrías ayudarme una vez mas; ya que quisiera cambiar la consulta que esta con la obsoleta extencion mysql_*, y pasarla a misqli ..... espero tu respuesta.
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