Salve a tutti. Vi chiederei gentilmente di dirmi cosa sbaglio in questo codice. Ho un database che contiene una tabella con degli username e delle password. Ho creato in HTML una pagina con un form dove inserire Username e Password. Con php e javascript vorrei creare un messaggio di avvenuto login se l'utente è presente nella tabella, altrimenti un errore. Il problema è che non mi stampa nulla. (Il file php funziona se provato a parte) Sbaglio con json_encode?
Vi inserisco di seguito i codici:
codice HTML:
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script src="log.js"></script> </head> <body> <form> <label for="username">Username</label> <input type="text" id="user">
<label for="password">Password</label> <input type="text" id="pass">
<button type="button" onclick="login()">Login</button> <div id="res"></div> </form> </body></html>
Il file PHP:
Codice PHP:
<?php
header('Content#Type: application/json');
if (isset($_GET['user']) && isset($_GET['pass'])) {
include("config.php");
$user=$_GET['user'];
$pass=$_GET['pass'];
$sql="SELECT * FROM users WHERE (username='$user' && password='$pass')";
$res=mysqli_query($conn,$sql);
if (!$res) die ("Errore".mysqli_error($conn));
$row=(mysqli_num_rows($res));
if ($row > 0) {
echo json_encode("Login effettuato"); }
else {
echo json_encode("Utente non presente nel database");
}
} else print ("Parametri mancanti");
?>
e Jquery:
codice:
function login() {
var user=$("#user").val();
var pass=$("#pass").val();
var risultato=$("#res");
$.getJSON("log.php?user="+user+"&pass="+pass,
function (result)
{
risultato.html(result);
}
);
}
Vi ringrazio.