Fórum WebTuga

Tecnologia => Programação => Topic started by: kingless on April 19, 2006, 11:09:17 PM

Title: Brincando com codigo PHP!!
Post by: kingless on April 19, 2006, 11:09:17 PM
Bem eu estou a aprender PHP e estive a tentar criar qualquer coisa em PHP, ai surgiu a ideia de criar um script de login sem mysql... Vou mostrar aqui o Codigo gostaria que alguem melhorasse ele!!

Precisamos de 3 ficheiros  teste.php  teste1.php  e users.inc

Codigo do ficheiro teste.php :

echo "";

echo "";

echo "Login";

echo "[Login]

";

echo "
";

echo "Username:
";

echo "Password: 
";

echo "";

echo "
";

echo "";

?>

Codigo do ficheiro teste1.php :

include("users.inc");

echo "";

foreach($user as $users=>$senha) {

if(!$_POST[\\'username\\'] and !$_POST[\\'senha\\']) {

print("Não foram inseridos nenhum dos dados!!");

exit(0); }

elseif(!$_POST[\\'username\\']) {

print("Não foi inserido o username!!");

exit(0); }

elseif (!$_POST[\\'senha\\']) {

print("Não foi inserido a password!!n");

exit(0); }

elseif($_POST[\\'username\\'] == "$users" and $_POST[\\'senha\\'] == "$senha") {

$puser = $_POST[\\'username\\']; $psenha = $_POST[\\'senha\\'];

print("Bem Vindo!! Você entrou com o username "$puser" e com a senha "$psenha"");

} else { echo(""); echo ""; }

}

?>

Agora vamos criar um ficheiro \\"users.inc\\" onde vao ficar os users e as senhas

Codigo do ficheiro users.inc  :

$user = array("kingless" => "teste");

?>

Nesse codigo o user é kingless e a password é teste.

Se alguem conseguir melhorar o codigo poste aqui o codigo

Cumps
Title: Brincando com codigo PHP!!
Post by: paul1nho on April 19, 2006, 11:44:03 PM
Bem vindo kingless
Title: Brincando com codigo PHP!!
Post by: Teotónio Ricardo on April 20, 2006, 08:53:42 AM
eheh Kingl3ss afinal deu? Ainda não testei, mas pareceme estar tudo bem!
Depois de tantos bugs, conseguimos!
Title: Brincando com codigo PHP!!
Post by: kingless on April 20, 2006, 12:26:01 PM
Quoteeheh Kingl3ss afinal deu? Ainda não testei, mas pareceme estar tudo bem!
Depois de tantos bugs, conseguimos!

Acho  que ja nao tem bugs, eu tive tirar algumas partes do codigo que eu e tu colocamos.
Title: Brincando com codigo PHP!!
Post by: kingless on April 21, 2006, 06:45:16 PM
Este codigo de login esta muito \\"fraco\\", por isso ja comecei a programar outra forma de login, com o codigo totalmete diferente.
Quando acabar de programar eu coloco o codigo aqui no forum!!

Primeira imagem do meu simples script:

http://madenet.mine.nu/login.jpg (http://madenet.mine.nu/login.jpg)
Title: Brincando com codigo PHP!!
Post by: revx on April 22, 2006, 12:05:46 AM
Não é por nada mas o Html não é um preview do código php.. lol eu costumo usar este código nos meus sistemas de login quando não necessito de mysql (por ex. restringir acesso a uma directoria e aos seus ficheiros, normalmente é só mesmo para admincp\\'s simples):


//Ficheiro com os dados como password e username

include (\\'dados.php\\');



// Iniciando a sessão

session_start();



$errorMessage = \\'\\';

if (isset($_POST[\\'utilizador\\']) && isset($_POST[\\'Password\\'])) {

// Verificar se a combinação password/utilizador está correcta

if ($_POST[\\'utilizador\\'] === $administrador && $_POST[\\'Password\\'] === $password_admin) {







$_SESSION[\\'esta_ligado\\'] = true;



 



header(\\'Location: painel.php\\');

exit;

} else {

$mensagem_de_erro = \\'Desculpe, password ou utilizador incorrectos.\\';

}

}

?>


if ($errorMessage != \\'\\') {

?>




}

?>

Login de Administrador



 

 

   

   

 

 

   

   

 

 

   

   

 

 
Utilizador:
Password:
 



E depois em todas as páginas (para redireccionar as visitas inoportunos) dessa directoria ponho:


// Iniciando a sessão

session_start();



if (!isset($_SESSION[\\'esta_ligado\\']) || $_SESSION[\\'esta_ligado\\'] !== true) {



header(\\'Location: index.php\\');

exit;

}

Nota: o Ficheiro dados.php é facultativo, podem se perfeitamente por as variaveis no ficheiros index.php...

Assim da maneira que puseste facilitas o trabalho a qualquer scriptkiddie... para não falar que nem recorreres a sessões, se tivesses um admincp com esse código serias facilmente hackeado... Acho que dá para tirares umas ideias do meu... também não é perfeito, e eu prefiro os sistemas mais complexos que involvam mysql
Title: Brincando com codigo PHP!!
Post by: kingless on April 22, 2006, 12:25:55 AM
o que vais por no arquivo dados.php ?

Tou a criar outro codigo que tem 3 ficheiros login.php, users.inc e config.inc.
 login.php  <- Onde todo codigo fica   -  users.inc  <-  onde vao ficar os usuarios e as passwords  -  config.inc <- Onde a pessoa que tiver o script pode trocar as cores, os nomes... do script sem ser preciso mecher no codigo.

Apesar de ter começado a aprender a 2 semanas PHP ja consigo fazer algo de jeito )
Title: Brincando com codigo PHP!!
Post by: revx on April 22, 2006, 12:51:24 AM
nos dados.php apenas tenho

<?php
$administrador = \\"taltal\\";
$password_admin = \\"taltal\\";
?>

Como disse tenta usar as sessions... senão vais ter problemas com implementar esse sistema numa pagina de por exemplo, administração, e usa também um sistema que te redireccione para o index quando nao esta ligado o user...

Quanfo ao config.inc vais fazer uma interfacepara editar depois de tar ligado ou o utilizador vai ir mudar no ficheiro ? se fizeres uma interface podes usar o sistema de fwrite  : beer :
Title: Brincando com codigo PHP!!
Post by: kingless on April 22, 2006, 01:26:04 AM
E se quiser adicionar um usuario e a password ? lol
Tenho de fazer isso ->
<?php
 $administrador = \\"taltal\\";
 $password_admin = \\"taltal\\";
$user1 = \\"teste\\"
$senha1 = \\"lool\\"
?>
o.O

Eu so preciso de fazer isso no meu users.inc ->

$usuarios = array(
                        \\"admin\\" => \\"senha1\\",
                         \\"user2\\" => \\"senhalol\\"
);

Colocar um foreach($usuarios as $usuario=>$senha) {....}
e fazer um fopen e fwrite   : happy :

QuoteQuanfo ao config.inc vais fazer uma interfacepara editar depois de tar ligado ou o utilizador vai ir mudar no ficheiro ? se fizeres uma interface podes usar o sistema de fwrite  : beer :

Não preciso simplesmente uso define(....);  //comentario aqui para ajudar o usuario
depois coloco include(\\"config.inc\\"); no login.php
Title: Brincando com codigo PHP!!
Post by: revx on April 22, 2006, 12:02:17 PM
Pois mas isso não facilita a vida aos utilizadores, os utilizadores preferem sempre um interface gráfico...

quanto a isso de adicionar utilizadores, se eu costumo usar aquilo para paineis de administração, não preciso de mais que um utilizador...

Ah e não vais usar sessions ? (não me respondes as perguntas...)

Quando tiveres o script pronto mostra... MAs na minha opinião o utilizador ter de recorrer a edição manual dos ficheiro .inc é bastante chato :
Title: Brincando com codigo PHP!!
Post by: kingless on April 22, 2006, 12:11:29 PM
Sim vou usar sessions.

QuoteQuando tiveres o script pronto mostra... MAs na minha opinião o utilizador ter de recorrer a edição manual dos ficheiro .inc é bastante chato :

Não me parece que neste teu codigo simples não vai ser preciso editar manualmente  E se eles quiserem mudar a cor do script ?

A unica coisa que os utilizadores vao precisar editar manualmente é o ficheiro config.inc (a maioria dos scripts se edita manualmente a config  )  O ficheiro users.inc vai ser editado automaticamente (fopen, fwrite)

Exemplo da minha config.inc

[web:23e41432d2]http://madenet.mine.nu/config.txt[/web:23e41432d2]

Imagem do meu script http://madenet.mine.nu/login.jpg (http://madenet.mine.nu/login.jpg)

Mais uma pergunta,  revx  ja aprendes PHP a quanto tempo ?
responde sff.

Cumps
Title: Brincando com codigo PHP!!
Post by: revx on April 22, 2006, 02:07:54 PM
E o que é que eu tinha dito ? :| para usares o sistema de fwrite...

Quanto a esse tipo de edições, é obvio que não as demonstrei pois isso seria feito no painel.php e seria algo que passaria completamente ao lado da função do script, até porque eu normalmente implemento este código num site já existente que tem o seu template...

Hm, dedico-me ao php à cerca de meio ano...
Title: Brincando com codigo PHP!!
Post by: kingless on April 22, 2006, 03:44:31 PM
Eu dedico-me a PHP a cerca de 2 semanas :]