Jump to content
austinmrs

Sistema Login Ajuda

Recommended Posts

austinmrs

Então tentei criei um sistema de login para o meu website. mas acontece uma coisa muito estranha. Após inserir os dados no formulário, quando vai para o processaLogin.php, aparece isto:

"

Erro do servidor

O Web site encontrou um erro ao tentar obter http://backoffice.turismomurtoseiro.com/processaLogin.php. Pode estar em manutenção ou ter sido configurado incorrectamente.

Seguem-se algumas sugestões:

Está aqui o formulário de login:

http://backoffice.turismomurtoseiro.com/login.php

processaLogin.php:

<?php
// começar ou retomar uma sessão
session_start();

// se vier um pedido para login
if (!empty($_POST)) {

// estabelecer ligação com a base de dados
include('dbconnect.php');

// receber o pedido de login com segurança
$username = mysql_real_escape_string($_POST['username']);
$password = sha1($_POST['password']);

// verificar o utilizador em questão (pretendemos obter uma única linha de registos)
$login = mysql_query("SELECT userid, username FROM users WHERE username = '$username' AND password = '$password'");

if ($login && mysql_num_rows($login) == 1) {

// o utilizador está correctamente validado
// guardamos as suas informações numa sessão
$_SESSION['id'] = mysql_result($login, 0, 0);
$_SESSION['username'] = mysql_result($login, 0, 1);

echo "<p>Sessão iniciada com sucesso como {$_SESSION['username']}</p>";
} else {

// falhou o login
echo "<p>Utilizador ou password invalidos. <a href="login.php">Tente novamente</a></p>";
}
}
?>

Edited by austinmrs

Share this post


Link to post
Share on other sites
HappyHippyHippo

a um erro desses o melhor é mesmo ver o log de erros do servidor.

depois de ver isso, faz post das últimas entradas


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
austinmrs

a um erro desses o melhor é mesmo ver o log de erros do servidor.

depois de ver isso, faz post das últimas entradas

Fui ao cpanel, registo de erros. Os últimos são erros de favicon .. penso que não tenha nada a ver..

Share this post


Link to post
Share on other sites
austinmrs

terá de existir mais erro além desses

[sat Jun 15 10:31:07 2013] [error] [client 82.155.52.156] File does not exist: /home/turifid0/public_html/backoffice/404.shtml

[sat Jun 15 10:31:07 2013] [error] [client 82.155.52.156] File does not exist: /home/turifid0/public_html/backoffice/favicon.ico

[sat Jun 15 10:31:02 2013] [error] [client 82.155.52.156] File does not exist: /home/turifid0/public_html/backoffice/404.shtml

[sat Jun 15 10:31:02 2013] [error] [client 82.155.52.156] File does not exist: /home/turifid0/public_html/backoffice/favicon.ico

Share this post


Link to post
Share on other sites
HappyHippyHippo

[sat Jun 15 10:31:02 2013] [error] [client 82.155.52.156] File does not exist: /home/turifid0/public_html/backoffice/404.shtml

que ficheiro é esse ?

que ficheiro estarás a pedir ao servidor para ele tentar responder com um 404 ?

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
austinmrs

que ficheiro é esse ?

que ficheiro estarás a pedir ao servidor para ele tentar responder com um 404 ?

Como assim? Eu apenas tenho o login.php que tem isto:

login.php

<html>
<head>
 <title>Login básico com PHP</title>
</head>
<body>
 <form action="processaLogin.php" method="POST">
<p>Username: <input type="text" name="username" /></p>
<p>Password: <input type="password" name="password" /></p>
<p><input type="submit" name="submit" value="Login" /></p>
 </form>
</body>
</html>

e este chama o processaLogin.php


<?php
// começar ou retomar uma sessão
session_start();

// se vier um pedido para login
if (!empty($_POST)) {

// estabelecer ligação com a base de dados
include('dbconnect.php');

// receber o pedido de login com segurança
$username = mysql_real_escape_string($_POST['username']);
$password = sha1($_POST['password']);

// verificar o utilizador em questão (pretendemos obter uma única linha de registos)
$login = mysql_query("SELECT userid, username FROM users WHERE username = '$username' AND password = '$password'");

if ($login && mysql_num_rows($login) == 1) {

// o utilizador está correctamente validado
// guardamos as suas informações numa sessão
$_SESSION['id'] = mysql_result($login, 0, 0);
$_SESSION['username'] = mysql_result($login, 0, 1);

echo "<p>Sessão iniciada com sucesso como {$_SESSION['username']}</p>";
} else {

// falhou o login
echo "<p>Utilizador ou password invalidos. <a href="login.php">Tente novamente</a></p>";
}
}
?>

EDIT:

Ao testar com o wamp, dá-me este erro:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\SITE\backoffice\processaLogin.php on line 29

Não estou a ver o que tenha mal na linha 29 do processaLogin.php

Edited by austinmrs

Share this post


Link to post
Share on other sites
HappyHippyHippo

Não estou a ver o que tenha mal na linha 29 do processaLogin.php

a sério ? nem olhando para o sintaxe highlight do fórum ?

echo "<p>Utilizador ou password invalidos. <a href="login.php">Tente novamente</a></p>";


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
HappyHippyHippo

sim, mas não deixa de estar errado.

olha bem para o highlight que o editor do fórum colocou, não te parece nada de estranho ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
austinmrs

sim, mas não deixa de estar errado.

olha bem para o highlight que o editor do fórum colocou, não te parece nada de estranho ?

O login.php, certo?

Como aquilo era um tutorial, pensei que estivesse correcto..

Edited by austinmrs

Share this post


Link to post
Share on other sites
austinmrs

claro !!!

Tentei assim, mas dá erro.

echo "<p>Utilizador ou password invalidos. <a href=\"login.php\">Tente novamente</a></p>";

isto confunde-me todo

Share this post


Link to post
Share on other sites
scorch

Que erro dá?

Alternativamente podes usar plicas.

echo '<p>Utilizador ou password invalidos. <a href="login.php">Tente novamente</a></p>';


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
austinmrs

Só uma pergunta, o que tenho de alterar no processaLogin.php, para que em vez de ser mostrada o texto: essão iniciada com sucesso como administrador , ele vá para o index.php?

Share this post


Link to post
Share on other sites
HappyHippyHippo
//echo "<p>Sessão iniciada com sucesso como {$_SESSION['username']}</p>";
header('Location: index.php');
die();


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
austinmrs

//echo "<p>Sessão iniciada com sucesso como {$_SESSION['username']}</p>";
header('Location: index.php');
die();

Obrigado! E outra coisa, tipo quando se mete dados mal, em vez de ir para outra página, é possivel aparecer só uma mensagem em baixo, ou um pop up a dizer que algo está errado, e aparecer a página de login de novo?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.