Scusa il ritardo...
Effettivamente credo che con quel pezzetto di codice non si potesse ricavare molto.
Ne posto un po' di più:
Codice PHP:
<?php
session_start ();
//Accesso al database
include("config.inc.php");
$db = connetti();
//Ricaviamo le variabili dal Post, crittografando la password:
$emailinserita = $_POST["emailinserita"];
$passinserita = md5($_POST["passinserita"]);
//Ora cerchiamo sul database qualcuno che abbia quest'email e chiudiamo la connessione al database:
$query = "SELECT 'ID', 'Nome', 'Cognome', 'Email', 'Anno', 'Scuola', 'Classe', 'Password' FROM 'utenti' WHERE 'Email'='$emailinserita'";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
mysql_close($db);
//Ricaviamo dalla query i dati che ci interessano
$id = $row['ID'];
$nome = $row['Nome'];
$cognome = $row['Cognome'];
$email = $row['Email'];
$anno = $row['Anno'];
$scuola = $row['Scuola'];
$classe = $row['Classe'];
$password = $row['Password'];
//Controlliamo che la password corrisponda:
if($passinserita == $password) {
$controllo = "ok";
$_SESSION["login"] = $id;
}else{
$controllo = "no";
}
?>
Alcune note:
- Per quanto riguarda la connessione al database, utilizzo un file esterno con una funzione creata da me e che mi restituisce il riferimento al db;
- I dati ricavati dal post vengono effettivamente presi correttamente, la password criptata eccetera;
- I dati ricavati dal db, come ID, nome, anno e così via vengono presi correttamente pure quelli;
- La variabile $controllo viene effettivamente settata su "ok" se inserisco la password corretta e su "no" se la inserisco sbagliata.
La pagina seguente, cui questa pagina rimanda immediatamente inizia così:
Codice PHP:
<?php
session_start();
if(isset($_SESSION["login"])){
//Login effettuato. Troviamo l'ID:
$id = $_SESSION["login"];
//Stampiamo un commento HTML per visualizzare l'ID
print ('<!-- ' . $id . ' -->');
?>
A questo punto controllo se $id o $_SESSION["login"] è impostato e la risposta è negativa. E senza $_SESSION["login"] l'utente non è loggato.
Idee?
Grazie.