PHP - Login de 2 tipos de usuarios con PHP

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Login de 2 tipos de usuarios con PHP

Publicado por jamiechwr (3 intervenciones) el 16/05/2019 12:58:07
estoy haciendo un proyecto para mi curso escolar y estoy un poco desesperando porque lo he intentado muchas veces pero no me sale, quiero con una página de login, poder iniciar sesión o con un usuario de tipo profesor o administrador y que dependiendo del tipo de usuario me redirija a x pantalla. Si me podéis echar una mano se agradecería bastante, gracias! Mi código hasta ahora es este:
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
<?php
session_start();
 $conn = mysql_connect("localhost", "root", "");
  mysql_select_db("proyecto_final");
 
$query = "SELECT Tipo FROM registro WHERE Usuario='$usuario' AND Passw='$passw'";
$result = mysqli_query($query);
 
 echo $result;
 
$row = mysqli_fetch_array($result);
if($row["Tipo"]=='Profesor'){
    header ("Location: ../principal_profe.html");
    exit();
}
   else if($row["Tipo"]=='Admin'){
    header ("Location: ../principal_admin.html");
       exit();
   }
 
   else{
       header ("Location: Index.html");
       exit();
   }
 mysqli_close($conn);
?>
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Login de 2 tipos de usuarios con PHP

Publicado por Mauro (1036 intervenciones) el 16/05/2019 14:49:55
A priori se ve bien... ¿qué problema le ves?
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 italo_pm
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Login de 2 tipos de usuarios con PHP

Publicado por italo_pm (193 intervenciones) el 16/05/2019 17:06:12
Hola

habria que hacer un echo, print de lo que devuelve la query, por otra parte, no seria mejor en la query de login seleccionar el tipo tambien aparte de los otros campos interesados del registro, asi evitas una query de mas....

por otra parte, leyendo rapidamente tu codigo

1
2
3
4
5
$conn = mysql_connect("localhost", "root", "");
  mysql_select_db("proyecto_final");
 
$query = "SELECT Tipo FROM registro WHERE Usuario='$usuario' AND Passw='$passw'";
$result = mysqli_query($query);

te conectas al db con mysql_connect y mysql_select_db, y lo interrogas con mysqli_query... eso es un error, sera mejor que utilizes mysqli o pdo (mysql_connect es obsoleto), muy aparte que a tu sentencia

1
$result = mysqli_query($query);

le fata el paramentro de la conexion:

1
mysqli_query($con, $query);

comienza a modificar eso, y luego realizas el echo o print del resultado de tu query. (el resto de logica de redireccionar esta bien).

salud2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Login de 2 tipos de usuarios con PHP

Publicado por Jamie (3 intervenciones) el 21/05/2019 13:13:55
Al final lo he solucionado por errores sobre todo con la conexión a la base de datos y algunas cositas más, aquí os dejo la solución por si interesa:
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();
include("../conexion.php");
 
//die("Conexión fallida.");
 
$usuario = mysqli_real_escape_string($_SESSION['conexion'],$_POST['Usuario']);
$passw = mysqli_real_escape_string($_SESSION['conexion'],$_POST['Passw']);
 
$query = "SELECT Tipo FROM registro WHERE Usuario='$usuario' AND Passw='$passw'";
$result = mysqli_query($_SESSION['conexion'],$query);
 
 //echo $result;
 
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$count = mysqli_num_rows($result);
 
if ($count == 1){
    $_SESSION['login_user'] = $usuario;
	echo "Se ha conectado correctamente";
 
	if($row["Tipo"]=='Profesor'){
		header ("location: ../principal_profe.php");
		exit();
	}
   else if($row["Tipo"]=='Admin'){
		header ("location: ../principal_admin.php");
		exit();
   }
}
   else{
	   echo "Usuario o contraseña es inválido.";
       header ("Location: Index.html");
       exit();
   }
 mysqli_close($conn);
?>
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