Mod edit: il messaggio buono è il secondo![]()
Mod edit: il messaggio buono è il secondo![]()
Ultima modifica di Alhazred; 20-06-2017 a 17:38
Ciao ragazzi ho un bug nel login ovvero se inserisco email e password giuste la schermata di login funziona correttamente mentre se username è giusto mentre password è errata appare una schermata bianca invece io vorrei far apparire la scritta password errata. Questo è il codice vi prego aiutatemi:
<?php
include('core.php');
if(isset($_POST['login'])) {
$username = isset($_POST['username']) ? clear($_POST['username']) : false;
$password = isset($_POST['password']) ? clear($_POST['password']) : false;
if(empty($username) || empty($password)) {
echo 'Riempi tutti i campi.<br /><br /><a href="javascript:history.back();">Indietro</a>';
} elseif(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username'")) == 0) {
echo 'Username non trovato.<br /><br /><a href="javascript:history.back();">Indietro</a>';
} else {
$password = md5($password);
$ip = $_SERVER['REMOTE_ADDR'];
if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username' AND password='$password'")) > 0) {
$username = mysql_result(mysql_query("SELECT username FROM users WHERE username LIKE '$username'"), 0);
$userid = mysql_result(mysql_query("SELECT id FROM users WHERE username LIKE '$username'"), 0);
mysql_query("UPDATE users SET last_login='".time()."', last_ip='$ip' WHERE id='$userid'") or die(mysql_error());
$_SESSION['username'] = $username;
$_SESSION['userid'] = $userid;
header('Location: index.php');
}
}
} else {
?>
Scusate per errore ho inviato il messaggio e non sapevo cancellarlo, se qualche moderatore può cancellarlo(solo il primo naturalmente)
P.S. leggete e rispondete al secondo messaggio.
Codice PHP:
<?php
if(isset($_POST['login'])) {
$username = isset($_POST['username']) ? clear($_POST['username']) : false;
$password = isset($_POST['password']) ? clear($_POST['password']) : false;
if(empty($username) || empty($password)) {
echo 'Riempi tutti i campi.<br /><br /><a href="javascript:history.back();">Indietro</a>';
} elseif(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username'")) == 0) {
echo 'Username non trovato.<br /><br /><a href="javascript:history.back();">Indietro</a>';
} else {
$password = md5($password);
$ip = $_SERVER['REMOTE_ADDR'];
if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username' AND password='$password'")) > 0) {
$username = mysql_result(mysql_query("SELECT username FROM users WHERE username LIKE '$username'"), 0);
$userid = mysql_result(mysql_query("SELECT id FROM users WHERE username LIKE '$username'"), 0);
mysql_query("UPDATE users SET last_login='".time()."', last_ip='$ip' WHERE id='$userid'") or die(mysql_error());
$_SESSION['username'] = $username;
$_SESSION['userid'] = $userid;
header('Location: index.php');
} else {
echo 'Password non valida.<br /><br /><a href="javascript:history.back();">Indietro</a>';
}
}
} else {
echo 'NOPE';
}
?>
eXvision