Ciao a tutti, ho un database con le password hashate in whirlpool e vorrei creare una funzione di login, come faccio?
La mia versione di PHP è 5.3.3
Questa è la pagina login.php e come vedete ci ho provato ma senza successo.
Codice:<?php require("assets/php/db.php"); $invio = $_POST['submit']; $username = $_POST['username']; $password = $_POST['password']; $pass = hash('whirpool', $_POST['password']); function errore($testoerrore) { echo '<div style="padding:15px 15px;"><div id="toast-container"> <div class="toast-error"> <div class="toast-close-button"><a href="#">x</a></div> <div class="toast-title">Errore:</div> <p>'. $testoerrore .' </p> </div> </div> </div> </div> </div> </div></center>'; } if($invio) //Se l'user preme invio { if($username && $password) //Se i campi non sono vuoti { $query = " SELECT AccountNome, Password, Premium, CodiceA, Lockato, Bannato, Pg1, Pg2, Pg3, Pg4, Pg5, Pg1Creato, Pg2Creato, Pg3Creato, Pg4Creato, Pg5Creato, LevAdmin FROM LdAccount WHERE AccountNome=:username "; $query_dati = array( ':username' => $_POST['username'] ); try { $stmt = $db->prepare($query); $result = $stmt->execute($query_dati); } catch(PDOException $ex) { die("Errore: " . $ex->getMessage()); // da cancellare } $login_ok = false; // Non ancora loggato // Controllo delle password $row = $stmt->fetch(); if($row) //Se ci sono account con quel nome { $db_password = $row['Password']; if($pass == $db_password) { $login_ok = true; //La passowrd è corretta } else errore("Nome utente e password non coincidono."); } else errore("Non esiste un account con questo nome."); //Se la passowrd è corretta logga if($login_ok) { if($row['Bannato'] == 1) { errore("Account bannato."); echo $row['Bannato']; die(); } else { unset($row['Password']); $_SESSION['user'] = $row; // Se l'user logga va all'index header("Location: index.php"); } } } } ?>

LinkBack URL
About LinkBacks
