Ciao
le informazioni "sensibili" vanno gestite solitamente con variabili di sessione.
Le variabili di sessione sono informazioni che restano lato server e che "sopravvivono" tra una richiesta HTTP e l'altra, consentendoti di sapere -ad esempio- se la richiesta che stai gestendo è di un utente che ha già fatto il login (e nel caso quale utente, etc etc etc).
Come hai già notato da solo il fatto di usare i cookie non va bene, in quanto lato client sarebbe possibile cambiare i cookie e quindi saltare i tuoi controlli.
Per l'utilizzo delle sessioni è sufficiente chiamare la funzione
session_start();
prima di qualsiasi comando di echo o in genere di output, questo invierà automaticamente al browser un cookie speciale (chamato solitamente PHPSESSID) che consentirà al server di riconoscere il client.
Per salvare o leggere le informazioni dalla sessione è sufficiente che tu operi sulla variabile $_SESSION che viene gestita come un array.
Per maggiori info guarda qui:
http://www.php.net/manual/it/book.session.php
esempio, per salvare un dato in sessione basta fare:
Se tu richiami ripetutamente questa pagina vedrai aumentare il valore di Pippo, questo fino a quando non ti scade la sessione o non usi un'altro browser.Codice PHP:
<?php
session_start();
if(!isset($_SESSION["pippo"])){
$_SESSION["pippo"]=0;
}
$_SESSION["pippo"]++;
echo "Pippo = ".$_SESSION["pippo"];
?>
Infine altre due note:
nel tuo codice non fai il sanitize dell'input: questa è una cosa molto grave perchè consenti ad un utente malintenzionato di iniettare codice sql nelle tue applicazioni, con potenziali problemi molto seri in termini di sicurezza e protezione dei dati (vedi sql injection)
usa sempre una libreria di astrazione dal db: oltre che rendere il tuo codice più portabile da un database all'altro è anche più leggibile e semplice, vedi ad esempio PDO.
http://it1.php.net/pdo_mysql
Ciao