Buongiorno a tutti,

vorrei ricevere un consiglio e magari delle dritte riguardo il modo in cui gestisco, in questo caso, i dati provenienti dall'array $_GET.

Ho un "box" dove all'interno ci sono delle immagini. I link che portano alla pagina che visualizza la foto gallery sarà così composto:

www.sito.it/photo.php?album=nature&num=1

Dove "album" va a prendere l'album e "nature" l'id (dal database) della foto visualizzata.

Cliccando sull'immagine (sul link), si va a pagina "photo.php" dove all'interno c'è:

Codice PHP:
if ($_GET) {

if (isset(
$_GET['album'])) {

    
$album_from_get mysql_escape_string(htmlentities(strip_tags(trim($_GET['album'])), ENT_QUOTES'UTF-8'));
    
    
$allowed_albums = array('animals','people','details','places','nature');

    if (!
in_array($album_from_get$allowed_albums)) {

        
$album_from_get str_replace($album_from_get"places"$album_from_get);

    }

    
$album_selected $album_from_get;

    switch (
$album_selected) {
        case 
'animals'$cat 'x1'; break;
        case 
'people':  $cat 'x2'; break;
        case 
'details':  $cat 'x3'; break;
        case 
'places':  $cat 'x4'; break;
        case 
'nature':  $cat 'x5'; break;
        default:          
$cat 'x5'; break;
    }

} else { 
$cat 'x1'; }

} else {

    echo 
"get non settato";
    exit();

}
#    $_GET 

Il codice è semplice da capire:

- Controllo innanzitutto se l'array $_GET è presente..altrimenti..implementerò una contromossa;
- Controllo se l'array $_GET['album'] è settato..se no, imposto una categoria di album di default da estrarre dal db;
- Se $_GET['album'] è settato, trimmo->strip_taggo,htmlenTITLO, ecc. il dato passato in $_GET['album'];
- Imposto in un array i valori possibili che il $_GET['album'] deve contenere e..se non contiene uno tra questi, sostituisco il suo contenuto con un valore di default.
- Infine passo la palla allo switch che verificherà il contenuto di $_GET['album'] ed imposterà la giusta categoria da estrarre dal db per stampare a video la gallery corretta;



Ora..

..è un approccio corretto?
..ci sono controlli ulteriori che fareste e che mi sono dimenticato?
..ci sono passaggi obsoleti?


Grazie in anticipo