Ecco la mia classe di qualche giorno fa:
http://forum.html.it/forum/showthrea...hreadid=967465
http://forum.html.it/forum/showthrea...hreadid=968658
Codice PHP:
Class BackParam {
// [Member variables]
var $backparams;
// Member function
function explodebackparams() {
$returnvar="";
parse_str($this->backparams, $output);
foreach ($output as $k=>$v) {
$returnvar .= "<input type=\"hidden\" name=\"{$k}\" value=\"{$v}\">";
}
return $returnvar;
}
function returnasitis() {
return $this->backparams;
}
// Constructor function (php >=4)
function BackParam($backparams) {
$this->backparams = $backparams;
$returnvar="";
parse_str($this->backparams, $output);
foreach ($output as $k=>$v) {
if (!empty($v)) $returnvar .= "&{$k}={$v}";
}
$this->backparams = $returnvar;
}
}
In pratica con questa prendo un array di parametri passati nell'url, in questo modo:
Codice PHP:
$backparams = isset($_GET['backparams']) ? new BackParam(trim($_GET['backparams'])) : "";
e poi ad esempio richiamando returnasitis() mi ritornano tutti i parametri che hanno un valore.
Funziona bene; l'unico problema è che se un parametro ha un apice nell'url (scritto come %27) quando richiamo la funzione mi ritorna quell'apice preceduto da tre backslash!
es:
parametro passato -> d'aiuto
parametro ritornato -> d\\\'aiuto
È come se nell'url fosse passato un \' ma invece mi sono assicurato che l'apice passato è uno e non è preceduto da niente...
:master: