Bom pessoal..
Estava precisando de um sistema de login, e como naum haviam sistemas bons e confiáveis de login usando MySQL na Net, eu resolví estudar um pouco e fazer o meu próprio..
Ficou bom, e de acordo com os meus conhecimentos, sem falhas de segurança..
Bom vamos lá, execute isso no seu banco de dados MySQL:CREATE TABLE `Sis_login` ( `id` int(3) NOT NULL auto_increment, `login` varchar(8) default NULL, `senha` varchar(8) default NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=3 ;Depois faça a página: login.php
<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><font color="#000000"><font color="#0000BB"><?
session_name</font><font color="#007700">(</font><font color="#DD0000">"MeuLogin"</font><font color="#007700">);
</font><font color="#0000BB">session_start</font><font color="#007700">();
</font><font color="#0000BB">session_destroy</font><font color="#007700">();
if(</font><font color="#0000BB">$_GET</font><font color="#007700">[</font><font color="#DD0000">'login'</font><font color="#007700">] == </font><font color="#DD0000">"falhou"</font><font color="#007700">) {
</font><font color="#0000BB"> </font><font color="#007700">print </font><font color="#0000BB">$_GET</font><font color="#007700">[</font><font color="#DD0000">'causa'</font><font color="#007700">];
}
</font><font color="#0000BB">?>
</font><form name="form1" method="post" action="loga.php?acao=logar">
Login: <input type="text" name="nome"><BR>
Senha: <input type="password" name="pwd"><BR>
<input type="submit">
</form></font><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->
Depois a página: loga.php
<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><font color="#000000"><font color="#0000BB"><?
session_name</font><font color="#007700">(</font><font color="#DD0000">"MeuLogin"</font><font color="#007700">);
</font><font color="#0000BB">session_start</font><font color="#007700">();
if(</font><font color="#0000BB">$_GET</font><font color="#007700">[</font><font color="#DD0000">'acao'</font><font color="#007700">] == </font><font color="#DD0000">"logar"</font><font color="#007700">) {
</font><font color="#0000BB"> $conn </font><font color="#007700">= </font><font color="#0000BB">mysql_connect</font><font color="#007700">(</font><font color="#DD0000">"localhost"</font><font color="#007700">,</font><font color="#DD0000">"user"</font><font color="#007700">,</font><font color="#DD0000">"senha"</font><font color="#007700">); </font><font color="#FF8000">//configure os dados do seu MySQL
</font><font color="#0000BB"> $banco </font><font color="#007700">= </font><font color="#0000BB">mysql_select_db</font><font color="#007700">(</font><font color="#DD0000">"SEU_BANCO"</font><font color="#007700">); </font><font color="#FF8000">//coloque o nome do seu banco de dados
</font><font color="#0000BB">
$nome </font><font color="#007700">= </font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'nome'</font><font color="#007700">];
</font><font color="#0000BB"> $q_user </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"SELECT * FROM Sis_login WHERE login='$nome'"</font><font color="#007700">);
</font><font color="#0000BB"> </font><font color="#007700">if(</font><font color="#0000BB">mysql_num_rows</font><font color="#007700">(</font><font color="#0000BB">$q_user</font><font color="#007700">) == </font><font color="#0000BB">1</font><font color="#007700">) {
</font><font color="#0000BB">
$query </font><font color="#007700">= </font><font color="#0000BB">mysql_query</font><font color="#007700">(</font><font color="#DD0000">"SELECT * FROM Sis_login WHERE login='$nome'"</font><font color="#007700">);
</font><font color="#0000BB"> $dados </font><font color="#007700">= </font><font color="#0000BB">mysql_fetch_array</font><font color="#007700">(</font><font color="#0000BB">$query</font><font color="#007700">);
</font><font color="#0000BB"> </font><font color="#007700">if(</font><font color="#0000BB">$_POST</font><font color="#007700">[</font><font color="#DD0000">'pwd'</font><font color="#007700">] == </font><font color="#0000BB">$dados</font><font color="#007700">[</font><font color="#DD0000">'senha'</font><font color="#007700">]) {
</font><font color="#0000BB"> session_register</font><font color="#007700">(</font><font color="#DD0000">"nome"</font><font color="#007700">);
</font><font color="#0000BB"> header</font><font color="#007700">(</font><font color="#DD0000">"Location: page.php"</font><font color="#007700">);
</font><font color="#0000BB"> </font><font color="#007700">exit;
</font><font color="#0000BB"> </font><font color="#007700">} else {
</font><font color="#0000BB"> header</font><font color="#007700">(</font><font color="#DD0000">"Location: login.php?login=falhou&causa="</font><font color="#007700">.</font><font color="#0000BB">urlencode</font><font color="#007700">(</font><font color="#DD0000">'Senha Errada'</font><font color="#007700">));
</font><font color="#0000BB"> </font><font color="#007700">exit;
</font><font color="#0000BB"> </font><font color="#007700">}
</font><font color="#0000BB"> </font><font color="#007700">} else {
</font><font color="#0000BB"> header</font><font color="#007700">(</font><font color="#DD0000">"Location: login.php?login=falhou&causa="</font><font color="#007700">.</font><font color="#0000BB">urlencode</font><font color="#007700">(</font><font color="#DD0000">'User Inválido'</font><font color="#007700">));
</font><font color="#0000BB"> </font><font color="#007700">exit;
</font><font color="#0000BB"> </font><font color="#007700">}
}
</font><font color="#FF8000">//agora a parte que verifica se o login já foi feito
</font><font color="#007700">if(</font><font color="#0000BB">session_is_registered</font><font color="#007700">(</font><font color="#DD0000">"nome"</font><font color="#007700">) == </font><font color="#0000BB">false</font><font color="#007700">) {
</font><font color="#0000BB"> header</font><font color="#007700">(</font><font color="#DD0000">"Location: login.php"</font><font color="#007700">);
}
</font><font color="#0000BB">?></font></font><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->
Pronto, o principal já tá feito..
Bom pessoal, como pedido, eu to acrescentando no script, uma página para acrescentar usuários, creio q isso facilita aos q ainda não tem intimidade com a interface do MySQL..
Vamos lá, crie uma página com um nome qualquer, exemplo: new_users.php, e coloque esse código nela:
<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><font color="#000000">
<font color="#0000BB"><?
</font><font color="#007700">if(</font><font color="#0000BB">$_GET</font><font color="#007700">[</font><font color="#DD0000">'act'</font><font color="#007700">]==</font><font color="#DD0000">"gravar"</font><font color="#007700">) {
</font><font color="#0000BB"> $conn </font><font color="#007700">= </font><font color="#0000BB">mysql_connect</font><font color="#007700">(</font><font color="#DD0000">"localhost"</font><font color="#007700">,</font><font color="#DD0000">"user"</font><font color="#007700">,</font><font color="#DD0000">"senha"</font><font color="#007700">);
</font><font color="#0000BB"> $banco </font><font color="#007700">= </font><font color="#0000BB">mysql_select_db</font><font color="#007700">(</font><font color="#DD0000">"SEU_BANCO"</font><font color="#007700">);
</font><font color="#0000BB"> mysql_query</font><font color="#007700">(</font><font color="#DD0000">"INSERT INTO Sis_login (id, login, senha)
VALUES (NULL, '</font><font color="#007700">{</font><font color="#DD0000">$_POST</font><font color="#007700">[</font><font color="#DD0000">'nuser'</font><font color="#007700">]}</font><font color="#DD0000">', '</font><font color="#007700">{</font><font color="#DD0000">$_POST</font><font color="#007700">[</font><font color="#DD0000">'senha'</font><font color="#007700">]}</font><font color="#DD0000">')"</font><font color="#007700">);
</font><font color="#0000BB"> </font><font color="#007700">print </font><font color="#DD0000">"<center>Usuário criado com sucesso!</center>"</font><font color="#007700">;
} else {
</font><font color="#0000BB">?>
</font><form name="newuser" method="post" action="?act=gravar">
User: <input type="text" name="nuser" maxlength=8><BR>
Senha: <input type="password" name="senha" maxlength=8><BR><BR>
<input type="submit" value="Enviar!">
</form>
<font color="#0000BB"><?
</font><font color="#007700">}
</font><font color="#0000BB">?></font></font><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->
As páginas seguintes são só um complemento para mostrar o funcionamento do script:
page.php
<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><font color="#000000"><font color="#0000BB"><?
</font><font color="#007700">require(</font><font color="#DD0000">"loga.php"</font><font color="#007700">);
</font><font color="#0000BB">?>
</font>Olá <B><font color="#0000BB"><? </font><font color="#007700">print </font><font color="#0000BB">$_SESSION</font><font color="#007700">[</font><font color="#DD0000">"nome"</font><font color="#007700">]; </font><font color="#0000BB">?></font></B>,<BR>
Aqui vem qualquer coisa, inclusive um link para outras páginas.<BR><BR>
<a href="page2.php">Link</a></font><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->
page2.php
<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><font color="#000000"><font color="#0000BB"><?
</font><font color="#007700">require(</font><font color="#DD0000">"loga.php"</font><font color="#007700">);
</font><font color="#0000BB">?>
</font>Olá <B><font color="#0000BB"><? </font><font color="#007700">print </font><font color="#0000BB">$_SESSION</font><font color="#007700">[</font><font color="#DD0000">"nome"</font><font color="#007700">]; </font><font color="#0000BB">?></font></B>,<BR>
Aqui tb diz que está logado direitinho</font><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->
Como visto acima, para restringir o acesso às páginas, é só vc acrescentar isso nas primeiras linhas da page:
<!--php1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>PHP </td></tr><tr><td id='CODE'><!--ephp1--><font color="#000000"><font color="#0000BB"><?
</font><font color="#007700">require(</font><font color="#DD0000">"loga.php"</font><font color="#007700">);
</font><font color="#0000BB">?></font></font><!--php2--></td></tr></table><div class='postcolor'><!--ephp2-->
E já era, todas as páginas que estiverem isso estarão protegidas.. Caso o login naum tenha sido feito, elas redirecionarão para a página que se faz o login..
Bom espero que tenham gostado, e que seja de bom proveito a todos..
Ps.: Testem esse script de preferência num servidor Linux, pois aqui mesmo no meu PC rodando Win, ele naum funfa..
Fui..
tudo bem mas eu preciso que este mysql seja no cpanel e por favor me diga como incluir co cpanel o login e senha para eu assim passar para os usuarios por e-mail
um forte abraço!