Jump to content

[Resolvido] Login a funcionar no Wamp e não no servidor.


Wise

Recommended Posts

Boas pessoal!

Já há algum tempo que não vinha aqui 🙂

Estou com um problema que não sei bem como resolver por isso vinha pedir aqui ajuda!

Tinha os ficheiros instalados e configurados aqui no WAMP e o login funciona 5*, mas quando meti pelo FTP no servidor algo não funciona :S (é a única coisa so far que não funciona).

Tenho aqui o código de um login simples que fiz para testes e num funciona e no server não funciona..

Login.php

<html><head>
<title>ola</title>
<script type="text/javascript" src="javascripts/sha512.js"></script>
<script type="text/javascript" src="javascripts/form.js"></script>
</head>
<body>
<?php
include 'includes/db_connect.php';
include 'includes/functions.php';
sec_session_start();
?>
<form method="post" name="login" action="login2.php">
<input id="usr" name="utilizador" type="text" class="TextBoxLogin" />
<input type="password" id="password" name="password" class="TextBoxPassword" />
<input type="hidden" name="p" id="p" value="" />
<input type="submit" value="ENTRAR" class="BotaoEntrar" id="BotaoEntrar" onclick="formhash(this.form, this.form.password);"/>
</form>
</body>
</html>

login2.php

<?php include 'includes/db_connect.php';
include 'includes/functions.php';
sec_session_start(); // Our custom secure way of starting a php session.

if (isset($_POST['utilizador'], $_POST['p'])) {
$utilizador = $_POST['utilizador'];
$password = $_POST['p']; // The hashed password.
echo $password;
echo"<br />";
if (login($utilizador, $password, $mysqli) == true) {
echo"Logado <br />";


} else {
// Login failed
echo "falhou! <br />";
}


} else {
// The correct POST variables were not sent to this page.
echo 'Pedido inválido. Alguma coisa correu mal.';
}
?>

Quando faço login no localhost fiz um echo para ver o que gera e mete isto:

a917d01789b58dfd3a702c715496269886f5d363d7445f42ee7b963e9de2a1da7dfbf0b88248ca648e69927353c0a76aaccd1d9b2ef1e32a7fe18ca3710f8929

Logado

e no servidor mesmo falhando aparece isto:

a917d01789b58dfd3a702c715496269886f5d363d7445f42ee7b963e9de2a1da7dfbf0b88248ca648e69927353c0a76aaccd1d9b2ef1e32a7fe18ca3710f8929

falhou

(é o mesmo)

O que se passará para dar no localhost e não no servidor??? Será que não está a comparar bem a password da base de dados com a password da form? Estive à procura o dia todo e não consigo saber mesmo porque não funciona mas sou noob nisto :/

Cumps

Edited by Wise
Link to comment
Share on other sites

Bem pessoal resolvi o problema!

Somos dois a estagiar e o meu colega modificou a base de dados e não reparei que ele tinha metido na password e o salta a varchar 50 quando tinha de ser char128.

Posto isto, o código está tudo bem e era mesmo na base de dados!

Não acredito o tempo que estive à procura da solução e bastava ver a base de dados......

Mas obrigado ao user yoda pois fiz uma session ao db_password e vi que ele não estava a "buscar" os dados todos.. Quer dizer estava, mas na base de dados como era de 50 e não de 128 não dava para depois resolver..

Obrigado 🙂

Link to comment
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.