• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sir Pereira

[RESOLVIDO] Login em PHP

13 mensagens neste tópico

Boas pessoal,

estou a tentar fazer um pequeno login em PHP, sem querer aprofundar, mas todas as acções e verificações se faziam na mesma página login.php.

login.php

<?php

$loggedin = False;

if ($loggedin = False) {
echo "<body>";
echo "<center><font sans='Verdana' size='2px'>";
echo "Login Screen<br /><br />";
echo "<form action='login.php' method='post'>";
echo "<input type='text' size=15 length=15 name='username'><br />";
echo "<input type='password' size=15 length=15 name='password'><br /><br />";
echo "<input type='submit' name='Submit'>";

echo "</font></center>";
echo "</body>";
$loggedin = True;
} else {
$password = $_POST['password'];
$username = $_POST['username'];

if ($password == "password") AND ($username == "utilizador") {
echo "Login efectuado com sucesso";
} else {
echo "Erro";
}
}


?>

Mas dá-me erro aqui:

Parse error: parse error in C:\weblocal\sites\login.php on line 21

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Querias dizer:

if (($password == "password") && ($username == "utilizador")) {

Da forma que tinhas, a comparação que ele estava a tentar fazer era só da password, e após isso esperava uma chaveta para abrir o bloco do if. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Querias dizer:

if (($password == "password") && ($username == "utilizador")) {

Da forma que tinhas, a comparação que ele estava a tentar fazer era só da password, e após isso esperava uma chaveta para abrir o bloco do if. :P

Obrigado :)

mas agora aparecem-me estes erros ?

Notice: Undefined index: password in C:\weblocal\sites\login.php on line 18

Notice: Undefined index: username in C:\weblocal\sites\login.php on line 19

Erro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não estás a enviar os dados no teu formulário. Os campos no HTML chamam-se (name) "username" e "password"?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, se vires no código estão :P

Porque eu queria que o formuláro de login e validação do mesmo se verificasse apenas numa só página, penso que é possível porque acho que já vi..

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não é isso. Ele tem no primeiro if = em vez de == :cheesygrin:

Pois foi -.-' tava distraído :P

outra coisa, agora não me sei do formulário de login :) nem diz se o login tava certo ou não :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O tirácio refere-se a esta linha:

$loggedin = False;

E esse primeiro if, deveria ser algo do género:

if (empty($_POST['Submit'])) {

porque a não ser que tenhas mais código, não faz muito sentido

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O tirácio refere-se a esta linha:

$loggedin = False;

E esse primeiro if, deveria ser algo do género:

if (empty($_POST['Submit'])) {

porque a não ser que tenhas mais código, não faz muito sentido

Ok, já funciona :P

Obrigado aos dois.

Mas só uma coisa, não percebi muito bem a lógica:

A condição vai verificar se o botão Submit está vazio? Mas o botão não tem entrada de dados, como é que pode estar vazio ?  :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O botão de submit, porque o browser envia o texto que te é mostrado no botão, daí ser um bom método para verificar se o formulário enviou ou não dados. :P

Se o browser não enviou os dados, é óbvio que o array POST com índice 'Submit' não vai lá ter nada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora