Categorias
Como fazer um sistema de login para seu website
Este é um sistema simples de login que tem sido muito confiável e seguro para mim. Eu mesmo o uso em meus sites, quando um sistema simples de login é necessário. Se você souber um pouco de PHP e MySQL, é muito fácil de usar. Se você achar que precisa de um pouco de atualização em PHP, procure cursos, apostilas ou tutoriais na Internet; você facilmente vai encontrar bastante material.
Primeiro, você vai precisar do MySQL instalado no seu computador. Eu tenho XAMMP instalado, e uso PHPmyADMIN para acessar meus bancos de dados. São gratuitos para download, é só procurá-los na Internet. Você também precisará criar um banco de dados em seu MySQL. À medida que você avança, lembre-se de que os nomes de arquivos nos servidores linux sempre diferenciam minúsculas e maiúsculas. LOGIN.PHP não é igual a login.php, como em servidores Windows.
Execute este comando SQL em sua base de dados MySQL (que você deve ter um):
CREATE TABLE ‘users’ (
`` id int (3) NOT NULL AUTO_INCREMENT,
`login` varchar (8) default NULL,
`login` varchar (8) default NULL,
PRIMARY KEY ( `id`)
) TYPE = MyISAM AUTO_INCREMENT = 3;
Isto criará a tabela que irá armazenar os nomes de usuários e senhas.- Então, crie o arquivo LOGIN.PHP. Esta página vai conter o formulário que vai enviará os dados do usuário para o sistema.
<?
session_name ( "MyLogin");
session_start ();
session_destroy ();
if ($ _GET[ 'Login'] == "failed") (
print $ _GET [ 'cause'];
)
?>
<form name="login_form" method="post" action="log.php?action=login">
Login: <input type="text" name="user"> <BR>
Password: <input type="password" name="pwd"><BR>
<input type="submit">
</form> - Agora, crie o arquivo LOG.PHP. Este é o arquivo que executa a action do formulário.
<?
session_name("MyLogin");
session_start();
if($_GET['action'] == "login") {
$conn = mysql_connect("localhost","user","password"); // your MySQL connection data
$db = mysql_select_db("DATABASENAME"); //put your database name in here
$name = $_POST['user'];
$q_user = mysql_query("SELECT * FROM USERS WHERE login='$name'");
if(mysql_num_rows($q_user) == 1) {
$query = mysql_query("SELECT * FROM USERS WHERE login='$name'");
$data = mysql_fetch_array($query);
if($_POST['pwd'] == $data['password']) {
session_register("name");
header("Location: yourpage.php"); // success page. put the URL you want
exit;
} else {
header("Location: login.php?login=failed&cause=".urlencode('Wrong Password'));
exit;
}
} else {
header("Location: login.php?login=failed&cause=".urlencode('Invalid User'));
exit;
}
}
// if the session is not registered
if(session_is_registered("name") == false) {
header("Location: login.php");
}
?> - Se você prestou bem atenção, notou que o login irá levar o usuário a YOURPAGE.PHP. Acrescente essas linhas de código em todas as páginas que pretende proteger (incluindo yourpage.php):
<?
require("log.php");
?>
Imprimir o nome do usuário na tela é muito fácil. Basta adicionar este código:
<? print $_SESSION["name"]; ?>
É isto! Funciona muito bem mas, se você tiver qualquer problema com estes códigos, entre em contato comigo!