Ah già..la variabile [num]..mi ero dimenticato. Questo il codice che gestisce la variabile [num] (perdonami)
Codice PHP:
# --------------------------------------------
# IF PHOTO REQUEST COMES FROM AN OTHER PAGE..
# --------------------------------------------
if (isset($_GET['num'])) {
# ------------------
# CLEAN $_GET['num']
# ------------------
$num_get = mysql_escape_string(htmlentities(strip_tags(trim($_GET['num'])), ENT_QUOTES, 'UTF-8'));
# ----------------------
# GET PHOTO IDs FROM DB
# ----------------------
$test_input = mysql_query("SELECT id FROM --tabella-foto--");
while ($test_res = mysql_fetch_assoc($test_input)) {
$test_res_ar[] = $test_res['id'];
}
# ---------------------
# CHECK $_GET MATCHING
# ---------------------
if ((!preg_match('/^[0-9]+$/',$num_get)) || (!in_array($num_get, $test_res_ar))) {
$test_res_ar = array_flip($test_res_ar); # SET RANDOM VALUE IF NO MATCHINGS
$num_rand = array_rand($test_res_ar,1);
$num_get = $num_rand;
}
# -------------------
# GET QUERY & RESULT
# -------------------
$actual = mysql_query("SELECT dati,dati FROM --tabella-foto-- WHERE id='$num_get'");
$present = mysql_result($actual,0,'dato');
$newlabel = mysql_result($actual,0,'dato');
} else {
$present = mysql_result($album_select,0,'dato');
$newlabel = mysql_result($album_select,0,'dato');
}
Dunque:
1) Verifico che $_GET['num'] sia settato..altrimenti mi prendo il primo risultato utile dal pezzo di codice visto prima ($album_select);
2) Se $_GET['num'] è settato, via con l'escape, trimmamento, strippamento, ecc. (Questo punto è quello che più di tutti mi interessa..che ne pensi di questo?);
3) Invio la query e metto i risultati in un array;
4) Controllo sia che il valore passato in $_GET['num'] sia un numero, e sia che sia presente all'interno dell'array pocansi creato..l'array con gli id delle foto.
4.1) Se il tutto NON corrisponde allora prendo un numero a caso tra gli id estratti e lo faccio girare ad ogni "refresh" di pagina con $_GET['num'] non settato.
4.2) Se il tutto E' SI, settato allora invio la query finale per il risultato;
Che ne pensi? (ate?)