login PDO MVC
Publicado por Sook (9 intervenciones) el 16/03/2017 23:11:42
buenas tardes
les comento estoy haciendo un CRUD en PHP con MVC (), obvio estoy aprendiendo como se hace... y realmente el CRUD ya lo tengo, pero a la pagina (que es un ejercicio para la el curso) tengo que ponerle un login y no logro hacer que funcione, y es que nada de lo que veo en los tutoriales se parece a lo que yo tengo y usan otras cosas raras que no comprendo (y que no se si es obligatorio usar, como si tengo que hacerlo con javascript o ajax, o no se), y no se donde mas buscar, así que les agradezco al que me pueda echar una mano...
Vista
aqui esta el formulario de ingreso de usuario (correo electrónico) y contraseña
Controlador
aqui, es donde estoy totalmente perdida, no se como hacerle para que me valide los usuarios y lo que hecho es mero ensayo y error, lo que tengo mas o menos claro es lo siguiente
se supone que la función data_validate compara si los datos obtenidos son correctos y envia al usuario a la pagina correspondiente. pero esa comparación no le he podido hacer (es con if, ya me lo han dicho pero no me funciona)
con esto se controla la conexion (inicio, salir y validar)
model
buscar en la base datos (sin lio)
espero que me haya explicado bien, y que me puedan ayudar, gracias por el tiempo destinado a colaborarme...
les comento estoy haciendo un CRUD en PHP con MVC (), obvio estoy aprendiendo como se hace... y realmente el CRUD ya lo tengo, pero a la pagina (que es un ejercicio para la el curso) tengo que ponerle un login y no logro hacer que funcione, y es que nada de lo que veo en los tutoriales se parece a lo que yo tengo y usan otras cosas raras que no comprendo (y que no se si es obligatorio usar, como si tengo que hacerlo con javascript o ajax, o no se), y no se donde mas buscar, así que les agradezco al que me pueda echar una mano...
Vista
aqui esta el formulario de ingreso de usuario (correo electrónico) y contraseña
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
<li class="dropdown">
<button type="button" id="dropdownMenu1" data-toggle="dropdown" class="btn btn-info navbar-btn dropdown-toggle"><i class="glyphicon glyphicon-user"></i> Login <span class="caret"></span></button>
<ul class="dropdown-menu">
<li style="width: 270px;">
<form class="navbar-form form" role="form" action="?c=login&m=data_validate" method="POST">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user color-blue"></i></span>
<input id="emailInput" placeholder="Usuario" class="form-control" type="email" name="Email" required="">
</div>
</div>
<div class="form-group" style="margin-top: 5px">
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock color-blue"></i></span>
<input id="passwordInput" placeholder="Contraseña" class="form-control" type="password" name="Password" required="">
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary form-control" style="margin-top: 5px">Ingresar</button>
</div>
<div class="form-group">
<span class="pull-right"><a href="#">¿Olvido su contraseña?</a></span>
</div>
</form>
</li>
</ul>
</li>
Controlador
aqui, es donde estoy totalmente perdida, no se como hacerle para que me valide los usuarios y lo que hecho es mero ensayo y error, lo que tengo mas o menos claro es lo siguiente
se supone que la función data_validate compara si los datos obtenidos son correctos y envia al usuario a la pagina correspondiente. pero esa comparación no le he podido hacer (es con if, ya me lo han dicho pero no me funciona)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public function data_validate(){
if(isset($_POST['Email']) && isset($_POST['Password'])){
foreach ($this->model->validar_usuario($_POST['email'], $_POST['password']) as $r) {
echo $r->id;
echo $r->Nombre;
echo $r->Apellido;
}// fin foreach
$stm= new security();
$stm->iniciarSesion($r->Nombre, $r->Apellido, $r->email);
}// fin if
}// fin function data_validate
con esto se controla la conexion (inicio, salir y validar)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
class securityController{
private $model;
public function __construct(){
$this->model = new security();
}
public function data(){
$this->model->iniciarsesion($_POST['email'],$_POST['password']);
}
public function cerrarsalir(){
$this->model->salir();
}
}
model
buscar en la base datos (sin lio)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public function validar_usuario($email,$password){
try {
$result=array();
$stm=$this->pdo->prepare("SELECT * FROM usuario WHERE email='$email'");
$stm->execute();
return $stm->fetchAll(PDO::FETCH_OBJ);
} catch (Exception $e) {
die($e->getMessage());
}// fin try catch
}// fin function validar_usuario
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
<?php
class security{
public function iniciarsesion($email,$password){
$_SESSION['correo_si']=$email;
$_SESSION['password_si']=$password;
}
public function salir(){
session_destroy();
header('location:?c=index&m=index');
}
public function validar_sesion(){
if(isset($_SESSION['correo_si'])){
echo "bien"; // es es solo prueba
} else{
header('location:?c=index&m=index');
}
}
}
espero que me haya explicado bien, y que me puedan ayudar, gracias por el tiempo destinado a colaborarme...
Valora esta pregunta
0