Salve a tutti!
Ho scritto questo breve codice php per effettuare il login nel mio sito, ma, se imposto le variabili superglobali $_SESSION, queste non vengono visualizzate nella pagina php successiva.
Vi lascio qui il codice, se potete aiutarmi, grazie:
codice:
<?php
$login = $_GET['login'];
if(!isset($login)) {
include("connect.php");
include("config.php");
$username = $_POST['username'];
$password = $_POST['psw'];
echo $username . " " . $password;
if ($username && $password) {
$username = $link->real_escape_string($username);
$password = $link->real_escape_string($password);
$salt = crypt('qualsiasicosadametterecomesalt', 'rl');
$real_password = crypt($password, '$6$' . $salt);
$sql = "SELECT * FROM utenti WHERE USERNAME = '$username' AND PASSWORD ='$real_password'";
$res = $link->query($sql) or die (mysqli_connect_errno());
if ($res == TRUE) {
// ora creo una sessione con l'id dell'utente che lo farà restare connesso tutto il tempo della navigazione alle pagine protette da login
while ($row = $res->fetch_row()) {
session_start();
$idutente = $row['ID'];
$nomeutente = $row['USERNAME'];
$_SESSION['id_utente'] = $idutente;
$_SESSION['nome_utente'] = $nomeutente;
// e infine reindirizzo l'utente nella pagina protetta da login
header("location: sezione_protetta.php?login=ok");
}
}
echo "Username o Password non corrette";
} else {
echo "Non sono stati compilati tutti i dati obbligatori";
}
}
else{
session_start();
$nomeutente = $_SESSION['nome_utente'];
echo $nome_utente;
if (isset($nome_utente)){
echo "MOSTRA CODICE HTML etc...";
}
else {
echo "Non sei connesso come utente <br>";
}
}
?>