Autor Tópico: Brincando com codigo PHP!!  (Lida 2762 vezes)

Offline kingless

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« em: Abril 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 :
Código: [Seleccione]
<?

echo "<html>";

echo "<head>";

echo "<title>Login</title></head>";

echo "[Login]<br><br>";

echo "<form method="POST" action="teste1.php">";

echo "Username: <input name="username" type="text"/><br>";

echo "Password:&nbsp; <input name="senha" type="password"/><br>";

echo "<input type=submit name=Entrar/>";

echo "</form>";

echo "</html>";

?>

Codigo do ficheiro teste1.php :
Código: [Seleccione]
<?php

include("users.inc");

echo "<body bgcolor=CCCCCC>";

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

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

print("<b>Não foram inseridos nenhum dos dados!!</b>");

exit(0); }

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

print("<b>Não foi inserido o username!!</b>");

exit(0); }

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

print("<b>Não foi inserido a password!!</b>n");

exit(0); }

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

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

print("<b>Bem Vindo!!</b>&nbsp;<font color=blue>Você entrou com o username "$puser" e com a senha "$psenha"</font>");

} else { echo(""); echo "</body>"; }

}

?>

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

Codigo do ficheiro users.inc  :
Código: [Seleccione]
<?

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

?>

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

Se alguem conseguir melhorar o codigo poste aqui o codigo

Cumps

Offline paul1nho

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #1 em: Abril 19, 2006, 11:44:03 pm »
Bem vindo kingless


Offline Teotónio Ricardo

  • Administrator
  • Newbie
  • *****
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
    • http://www.teotonio.pt
Brincando com codigo PHP!!
« Responder #2 em: Abril 20, 2006, 08:53:42 am »
eheh Kingl3ss afinal deu? Ainda não testei, mas pareceme estar tudo bem!
Depois de tantos bugs, conseguimos!

Offline kingless

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #3 em: Abril 20, 2006, 12:26:01 pm »
Citar
eheh 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.

Offline kingless

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #4 em: Abril 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

Offline revx

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #5 em: Abril 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):

Código: [Seleccione]

//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.\\';

}

}

?>

<?php

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

?>

<p align="center"><strong><font color="#990000"><?php echo $mensagem_de_erro; ?></font></strong></p>

<?php

}

?>

<div align="center"><b>Login de Administrador</b></center>

<form action="" method="post" name="Login" id="Login">

 <table width="400" border="0" align="center" cellpadding="2" cellspacing="2">

  <tr>

   <td width="150">Utilizador:</td>

   <td><input name="utilizador" type="text" id="utilizador"></td>

  </tr>

  <tr>

   <td width="150">Password:</td>

   <td><input name="Password" type="password" id="Password"></td>

  </tr>

  <tr>

   <td width="150">&nbsp;</td>

   <td><input name="Ligar" type="submit" id="Ligar" value="Entrar"></td>

  </tr>

 </table>

</form>

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

Código: [Seleccione]

// 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
Carpe Ad Infinitum

Offline kingless

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #6 em: Abril 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 )

Offline revx

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #7 em: Abril 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 :
Carpe Ad Infinitum

Offline kingless

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #8 em: Abril 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 :

Citar
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 :

Não preciso simplesmente uso define(....);  //comentario aqui para ajudar o usuario
depois coloco include(\\"config.inc\\"); no login.php

Offline revx

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #9 em: Abril 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 :
Carpe Ad Infinitum

Offline kingless

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #10 em: Abril 22, 2006, 12:11:29 pm »
Sim vou usar sessions.

Citar
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 :

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

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

Cumps

Offline revx

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #11 em: Abril 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...
Carpe Ad Infinitum

Offline kingless

  • Newbie
  • *
  • Mensagens: 0
  • Karma: +0/-0
    • Ver Perfil
Brincando com codigo PHP!!
« Responder #12 em: Abril 22, 2006, 03:44:31 pm »
Eu dedico-me a PHP a cerca de 2 semanas :]

 

Sitemap 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49