Quando scrivi
Codice PHP:
$query = "SELECT * FROM user_form WHERE id='$id'";
stai dicendo al PHP di prendere il valore di $id e metterlo all'interno della query. Se non hai mai messo un valore dentro $id, ottieni l'errore sopra.
L'idea di un sistema di login di solito è:
1. l'utente si autentica con nome e password
2. uno script controlla che nome e password siano corrette, e crea una sessione, mettendoci dentro le informazioni dell'utente
3. le altre pagine del sito vedono le informazioni dell'utente nella sessione, e le usano per personalizzare la pagina.
Per poter prendere i dettagli dell'utente, devi:
a) averne salvato l'identificatore nella sessione al momento del login, qualcosa tipo
Codice PHP:
session_start();
$_SESSION['id_utente'] = ...
b) averne estratto all'inizio della pagina, ad esempio:
Codice PHP:
$id = $_SESSION['id_utente'] ?? null;
# se l'utente non è loggato, lo rimandiamo alla pagina di login
if (!$id) {
header('Location: /login.php');
return;
}
Vedi anche: sessioni in PHP