PHP - ayuda por favor con codigo para login

 
Vista:
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda por favor con codigo para login

Publicado por zendi (1056 intervenciones) el 12/03/2022 19:52:11
Que tal a todos, estoy intentando de todas las formas posibles para que funcione este codigo para login pero no valida, solo entra al formulario menu1.php, ahora bien no veo si falta alguna línea de codigo.

Más abajo envío el codigo del formulario, en lo referente al action del formulario
1
<form action="" method="post">
alli coloqué un vacío

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
58
59
60
61
62
63
64
65
66
67
68
<?php
 
session_start();
 
$correo1=htmlentities(addslashes($_POST['correo1']));
 
$password=htmlentities(addslashes($_POST['pass']));
 
 
 
try{
 
	$base = new PDO("pgsql:host=localhost; port=5432; dbname=administra", "postgres","");
 
	$base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
	$sql="SELECT * FROM propietarios WHERE cta_correo = :correo1 AND contrasena = :pass";
var_dump($sql);
	$resultado=$base->prepare($sql);
 
//  $correo1=htmlentities(addslashes($_POST["correo1"]));
 
// $password=htmlentities(addslashes($_POST["pass"]));
 
 
	$resultado->bindValue(":correo1",$correo1);
 
	$resultado->bindValue(":pass",$password);
 
	$resultado->execute();
 
 
        $reg = $resultado->fetch(PDO::FETCH_ASSOC);
 
	$numero_registro=$resultado->rowCount();
 
	if($numero_registro==0){
 
		header("location:index.php");
 
	}else{
	    $_SESSION["session_perfil"]=$reg["idpermiso"];
 
 
		if($_SESSION["session_perfil"]==2){
 
			header("location:propietario1.php");
 
		}else if($_SESSION["session_perfil"]==1) {
 
			header("location:menu1.php");
 
		}else{
 
			header("location:index.php");
 
		}
 
	}
 
}catch(Exception $e){
 
	die("Error:" .$e->getMessage());
 
}
 
?>
?>

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
 // require_once("conexion_usuario1.php");
 
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <link rel="stylesheet" href="estilos.css">
  <link rel="stylesheet" href="fonts.css">
  <script src="http://code.jquery.com/jquery-latest.js"></script>
<!--   <script src="main.js"></script>
 --><body background="images/golf.jpg" style="background-attachment: fixed">
</head>
  <header>
    <div class="menu_bar" title="Presione para Traer o Retirar el Menú">
      <a href="#menu" class="bt-menu"><span class="icon-menu"></span></a>
    </div>
    <img src="img/Edificio.JPG" WIDTH="450" height="300"/>
<!--      <div id="contenedor">
        <h5 id="contenedor"><span class="icon-phone"></span>Inversiones Maape - Rif</h5>
      </div> -->
      <nav>
            <h1 class="color" align="center" ></h1>
      <ul>
        <li class="submenu">
        </li>
 
        <li></li>
        <li class="submenu">
        </li>
        <li></li>
        <li></li>
<!--         <li><a href="grabar.php"><span class="icon-database"></span>REGISTRARSE</a></li>
        <li><a href="solicitud.php"><span class=""></span>INICIAR SESIÓN</a></li> -->
      </ul>
    </nav>
  </header>
	<center>
	<div class="tit"><h2 style="color: #0000FF; ">Inicio de sesión</h2></div>
		<center><div class="Ingreso">
	<table border="0" align="center" valign="middle">
		<tr>
		<td rowspan=2>
		<form action="" method="post">
		<table border="0">
			<div class="col-lg-10">
<!-- 		  <input type="hidden" name="nombresf" value="<?php echo $nom[0]["nombres"];?>"/>
 -->			      <input type="email" size="30" style="border-radius: 50px;" name="correo1" placeholder="Cuenta de Correo" required title="Escriba su Cuenta de Correo" /><br />
     		</div>
			<div class="col-lg-10">
			  <input type="password" size="30" style="border-radius: 50px;" name="pass" placeholder="Contraseña" required />
			</div>
<!-- 			<div class="col-lg-10">
			  <a href="passw.php" title="Presione este enlace para recuperar la Contraseña">¿Olvidó su Contraseña?</a>
			</div> -->
		  <div class="form-group">
			 <div class="col-lg-offset-2 col-lg-10">
			   <input type="submit" style="border-radius: 15px;" value="Enviar">Entrar</button>
<!-- 			   <input type="submit" value="Comentar" title="Comentar" style="border-radius: 15px;" class="btn btn-success">
 -->
			 </div>
		  </div>
         </table>
		</form>
<hr>
<!-- <form method="post" action="grabar.php">
	    <div>
		  <input  class="btn btn-danger" type="submit" value="Registrarse"/>
	    </div>
</form> -->
 
</html>
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
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda por favor con codigo para login

Publicado por zendi (1056 intervenciones) el 12/03/2022 22:08:37
para explicar mejor:i el codigo que procesa la peticion:

1
2
3
4
5
6
7
8
9
10
11
if($_SESSION["session_perfil"]==2){
 
			header("location:propietario1.php");
 
		}else if($_SESSION["session_perfil"]==1) {
 
			header("location:menu1.php");
 
		}else{
 
			header("location:index.php");
no esta funcionando. Por eso queria saber si alguien ve desde un mejor angulo el problema.
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por Zendi (51 intervenciones) el 13/03/2022 08:28:21
Por favor podría alguien dar una sugerencia al menos para yo guiarme con el resto? Se le agradece altamente.
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 Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda por favor con codigo para login

Publicado por Alejandro (839 intervenciones) el 14/03/2022 16:11:30
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Comprueba lo que estas obteniendo, agrega un print_r($reg)
1
2
$reg = $resultado->fetch(PDO::FETCH_ASSOC);
print_r($reg);
Te darán error los header, es normal.
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por Zendi (51 intervenciones) el 14/03/2022 23:03:48
Ok. Lo voy a probar. Y gracias por tu ayuda y respuesta. He estado viendo muchos videos acerca del tema. Pero confunden bastante porque aplicó los ejemplos pero no encajan con mi código. Haré lo que me sugieres.
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por alejandro (51 intervenciones) el 15/03/2022 01:10:45
Hola Alejandro hice lo que me sugeriste pero no imprime la variable por pantalla. Pero ahora por lo menos está trayendo el formulario menu1 es decir está entrando cuando el perfil es 1, pero cuando seleccionó un usuario con perfil 2 no lo hace. Te pregunto Alejandro: los if y los else if están bien formulados? Hace rato me dió un error en el catch.
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 Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda por favor con codigo para login

Publicado por Alejandro (839 intervenciones) el 15/03/2022 16:50:38
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Yo buscaría primero mostrar los datos ya que a partir de ellos se toman las decisiones.
Si sabes con que datos esta trabajando entiendes el porque del comportamiento.

Los if están bien, aunque se recomienda switch
1
2
3
4
5
6
7
8
9
10
11
12
switch ($_SESSION["session_perfil"]){
	case 2:
		header("location:propietario1.php");
		break;
 
 	case 1:
		header("location:menu1.php");
		break;
 
	default:
		header("location:index.php");
}

Puedes asignar una literal a $_SESSION["session_perfil"] y veras que el funcionamiento es correcto.
1
$_SESSION["session_perfil"] = 2;
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por Zendi (51 intervenciones) el 15/03/2022 19:08:03
Ok. Voy a seguir tus sugerencias Alejandro, lo intenté con print_r pero no los trae. Voy a usar switch. Sigo encima de este código. Gracias amigo. A cualquier duda pido ayuda al foro.
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por Zendi (51 intervenciones) el 16/03/2022 19:08:01
Disculpa Alejandro cuando mencionas una literal te refieres a una variable? Podrías explicar gracias.
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 Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda por favor con codigo para login

Publicado por Alejandro (839 intervenciones) el 16/03/2022 22:05:10
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Con variable
1
switch( $_SESSION["session_perfil"] ){...

Con literal
1
switch( 2 ){...
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por Zendi (51 intervenciones) el 16/03/2022 22:56:06
Ok. Lo pruebo.
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por Zendi (51 intervenciones) el 17/03/2022 08:49:19
Igualmente probé con el literal y tampoco hace nada, y sigo intentando con print_r para imprimir la variable y no lo hace.
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por Zendi (51 intervenciones) el 18/03/2022 01:40:45
Buenas noches Alejandro. Ya resolví el problema. El problema era que cuando seleccionaba la opción de perfil 2 entraba al archivo propietarios1.php y allí yo había puesto index.php; estaba apuntando a un archivo que no existe.
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
sin imagen de perfil

ayuda por favor con codigo para login

Publicado por Zendi (51 intervenciones) el 16/03/2022 22:47:06
Hola Alejandro, traté de imprimir la variable que me indicaste pero no trajo nada en realidad. Ahora bien renombre el archivo Index.php por login.php y cada vez que proceso la búsqueda en la barra de navegación aparece o apunta a index.php, es extraño ya que index.php ya no existe. Esto es una locura. Otra pregunta: ¿Qué archivo debo colocar en el action del formulario login.php? ¿Debo colocar el nombre del archivo conexion_usuario1.php? el cual es el que procesa la búsqueda, creo que el problema radica en estos archivos.
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