Originalmente inviato da
mzanella
Hai provato il codice nel mio spazio
http://mzanella.altervista.org/tests...-mysql-mysqli/?
Il problema nasce dal fatto che le variabili
$username e
$password sono entrambe vuote. Quasi certamente questo accade dopo la chiamata a
mysqli_real_escape_string, il che lascia supporre che ci sia qualcosa che non va col parametro di connessione,
$conndb.
Prova a mostrare il codice aggiornato di
conngo2.php e della pagina PHP.
Ciao, ti confermo che ho provato il tuo codice e fin la ci arrivo anche con il mio, adesso che te lo posto magari riesci a verificarlo anche tu ...
Codice PHP:
<?php
// Apriamo la connessione verso il database mysql
$conndb = mysqli_connect('localhost', 'utente', 'password', 'database');
// Controlliamo l'esito della connessione
if (!$conndb) {
die("Errore di connessione (" . mysqli_connect_errno() . ") " . mysqli_connect_error());
exit();
}
// Chiudiamo la connessione
mysqli_close($conndb);
?>
Codice PHP:
<?php
//include('conngo2.php'); // Includes Login Script
if($_POST) {
effettua_login();
} else {
mostra_form();
}
function mostra_form()
{
// mostro un eventuale messaggio
if(isset($_GET['msg'])) {
echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
}
?>
<!DOCTYPE html>
<html >
<head>
<meta charset="UTF-8">
<title></title>
<link rel="icon" href="favicon.ico">
<link rel="stylesheet" href="css/style.css">
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src="js/index.js"></script>
</head>
<body>
<div class="wrapper">
<div class="container">
<h1></h1>
<form id="form_login" name = "form_login" "class="form" method="post" action="">
<input type="text" placeholder="Username" name="username">
<input type="password" placeholder="Password" name="password">
<button type="submit" id="login-button">Accedi</button>
</form>
</div>
<ul class="bg-bubbles">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</body>
</html>
<?php
}
function effettua_login()
{
include('conngo2.php'); // Includes Login Script
// recupero il nome e la password inseriti dall'utente
$username = trim($_POST['username']);
$password = trim($_POST['password']);
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
if(get_magic_quotes_gpc()) {
$username = stripslashes($username);
$password = stripslashes($password);
}
// verifico la presenza dei campi obbligatori
if(!$username || !$password) {
$messaggio = urlencode("Non hai inserito il nome o la password");
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
exit;
}
// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
$username = mysqli_real_escape_string($conndb, $username);
$password = mysqli_real_escape_string($conndb, $password);
// preparo ed invio la query
$query = "SELECT * FROM utenti WHERE username = '$username' AND password = MD5('$password')";
$result = mysqli_query($conndb,$query);
// var_dump ($conndb,$result);
// print_r($conndb,$result);
// controllo l'esito
if (!$result) {
die("Query: " .$query. " <br>Errore: " . mysql_error($conndb));
}
$record = mysqli_fetch_array($conndb,$result);
mysqli_free_result($result);
if(!$record) {
$messaggio = urlencode('Nome utente o password errati');
header("location: $_SERVER[PHP_SELF]?msg=$messaggio");
} else {
session_start();
$_SESSION['username'] = $record['username'];
$messaggio = urlencode('Login avvenuto con successo');
header("location: home.php");
}
}
?>
A te per verifiche