Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TheNight

Form de login com MVC, Correto?

Recommended Posts

Salve rapaze!!!

 

Seguinte, agora que **Entendi + ou - o conceito do MVC, parti para um formulário de login**

 

Estou com uma dúvida, preciso que quem for responder esclareça o máximo o possível, pois ainda sou um bebezão com MVC :(

 

Vamos lá, vou colocar código por código e explicar o que cada um faz....

 

loginController.php

 

Este apenas chama o meu controller e a minha action (enter) veja o código pra entender melhor:

 

minha url fica assim: http://localhost/mvc/login, Obs: é chamada apenas se o formulário for válidado

class Login extends Controller {
	public function __construct() {
		parent::__construct();
	}

	public function index() {
		$this->view->title = 'Nome da Web - login';

		$this->view->render('login/inc/header');
		$this->view->render('login/index');
		$this->view->render('login/inc/footer');
	}

	public function enter() {
		$this->model->run();
	}
}

login_model.php

 

é o metodo chamado dentro do método enter no controlador
Tem como objetivo válidar o formulário gravando erros em uma sessão, veja que meu método session_get_error() é acionado apenas se houver campos vazio.

class Login_Model extends Model {

	public function __construct() {
		parent::__construct();
	}


	public function run() {
		if (empty($_POST['log_Username'])) {
			$this->session_get_error('Nome não pode ficar vazio');
		}

		elseif (empty($_POST['log_Password'])) {
			$this->session_get_error('Senha não pode ficar vazio');
		}

		else {
			echo 'logado com sucesso';
		}
	}

	private function session_get_error($msg) {
		session_start();

		$_SESSION['error'] = $msg;

		header("Location: ../login");
	}
}

index.php (minha view)

<?php
session_start();
?>
<form action="login/enter" method="POST">

	<label>Username:</label>
	<input type="text" name="log_Username" class="form-input"> <br>
	<br>

	<label>Password:</label>
	<input type="password" name="log_Password" class="form-input"><br>


	<br>
	<button type="submit">Logar</button>
</form>

<?php

if (isset($_SESSION['error'])) {
	echo $_SESSION['error'];
}

Como viram, estou gravando meus erros em uma session, isto é correto ou teria outra forma de válidar formulários com MVC no PHP ?

 

Revirei tópicos aqui e nada sobre... quem puder me ajudar sou grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.