PHP e form di login

di il
4 risposte

PHP e form di login

Buongiorno a tutti! Sono un neofita di PHP e vi chiedo un aiuto per risolvere un problema in un form di login.
Quando si apre la form nella casella di testo appare il messaggio "DATI NON CORRETTI" anche se non è stato inserito alcun dato.
Vorrei capire dov' è l' errore. Grazie a tutti per l' aiuto.
Fabio Ranzato

Questo è il codice:
<?php
//includo il file per la connessione al db che sarà uguale per tutte le pagine php
include("inc/database.php");

//Se già loggato lo facci andare alla pagina home
if (isset($_SESSION['id_user']){
header("Location: home.php");
}
//Verifica del login

if (isset($_POST['username'])) {
//Solo se mi arriva un dato dalla form allora verifico da database se esiste

$u=$_POST['username'];
$p=$_POST['password'];

$sql_ck_user="select Id_Utente,Username_Utente from Tab_Utenti where Username_Utente='$u'
and Password_Utente='$p' and Stato_Utente=1";

print $sql_ck_user;

//qui il codice per eseguire la Query e vedere se user e pwd esisono nel db

$messaggio_html="";
$sql = mysql_query($sql_ck_user);
if(mysql_num_rows($sql)) {

while($row = mysql_fetch_array($sql)) {
$id_utente = $row['Id_Utente'];
$username_utente = $row['Username_Utente'];

$_SESSION['id_user']=$id_utente;
$_SESSION['user'] = $u;
$_SESSION['pass'] = $p;

//Faccio andare in Home visto che tutto ok il login
header("Location: home.php");

} else {
$messaggio_html="<span style='color:red'><b>DATI NON CORRETTI</b></span>";
}

}

?>

<!DOCTYPE html>

<HTML>
<HEAD>

<link rel="icon" href="img/favicon.png" type="image/png"/>

<title> login - NiuWeb </title>

<meta charset="UTF-8">

<meta name="description"content="Prima pag. corso Dev PHP Niuko 2017">

<meta name="keywords"content="HTML,CSS,Javascript,jQuery">

<meta name="author" content="Valentina Zilio">

<meta name="generator" content="Blocco Notes e Notepad++">

<meta name="viewport" content="width=devic-width, initial-scale=1.0">



<link rel="stylesheet" href="css/style.css" type="text/css">

</HEAD>

<BODY>
<div class="login-main">
<div class="login_logo">
<img src="img/login_ab.png"/>
</div>

<div class="login_form">

<form id="login_form" name="login_form" method="post">

<input type="text" name="username" id="username" placeholder="Username or email" autocomplete="on" required>

<input type="password" name='password' placeholder="Password" id="password" required>

<input type="submit" name="submit" value="ENTRA" id="btnLogin">

<?php echo $messaggio_html; ?>
</form>

</div>

</div>

</BODY>

</HTML>

4 Risposte

  • Re: PHP e form di login

    Ahem
    . Diciamo che è tutto sbagliato!
  • Re: PHP e form di login

    Ahem
    E io che pensavo fosse da correggere solo una riga...
    Immagino che sarebbe troppo chiedere di sistemare tutto il codice.
    Altrimenti è possibile avere un esempio semplice di form di login?
    Grazie mille e cari saluti.
    Fabio Ranzato
  • Re: PHP e form di login

    Troverai mille e mille esempio di login PHP, fatti più o meno bene.
    Nel tuo caso specifico parti già con l'utilizzo di una libreria vecchia e da non utilizzare, con una tecnica mostruosamente insicura per interrogare il database, con problemi di ogni genere anche nella parte HTML.

    Quindi se la domanda è "come si fa un login DAVVERO in PHP" la risposta è "non così".
    Se invece è di spiegarti didatticamente come, cosa e perchè... si può fare, ma è fai assai meno fatica a trovare la spiegazione già fatta (anche io ne faccio molto meno).

    Nel tuo caso - che suppongo avrai copiato da un qualche corso introduttivo - c'è l'esempio classico di iniezione SQL. In sostanza chiunque può loggarsi con quel sistema, anzi fare qualsiasi cosa voglia sul database (compreso cancellarlo)
  • Re: PHP e form di login

    Grazie molte per tutti i suggerimenti.
Devi accedere o registrarti per scrivere nel forum
4 risposte