Se passi valori in get essi devono essere separati dal carattere & .
esempio :
http://www.miodominio.eu/faicose.php...terzovalore=12
Questo passa 3 campi al file faicose.php.
Accedendo all'array $_GET puoi recuperare i valori cosi'
echo $_GET['primovalore']."
";
echo $_GET['secondovalore']."
";
echo $_GET['terzovalore']."
";
Il problema si genera se passi stringhe che possono contenere il carattere &.
Infatti :
http://www.miodominio.eu/faicose.php...ndovalore=ciao pippo&co&terzovalore=12
il secondo valore dovrebbe essere "ciao pippo&co" ma php vedra' solo "ciao pippo" in quanto creera' un'istanza nell'array get di "co" di contenuto vuoto
e quindi avrai :
$_GET['primovalore']
$_GET['secondovalore']
$_GET['co']
$_GET['terzovalore']
Una buona tecnica per controllare i valori in arrivo e' scorrere l'array associativo e forgiare dinamicamente le variabili e poi stamparle cosi' puoi fare i test per capire come funziona il passaggio di parametri in get :
cosi' e' come se facessi tu a manoCodice PHP:
foreach($_GET as $n=>$v)
{
$$n = $v;
echo "var: ".$n." = ".$v."
";
}
$primovalore = $_GET[primovalore]
etc ....
Se devi controllare caratteri speciali etc ti consiglio di usare la funzione escape() di javascript che ricodifica le stringhe nella corretta codifica degli URI.
Lato server poi in php usi la rawurledecode() e recuperi il valore originale della stringa.
Inoltre dovrai stare attento ai caratteri di quoting e quindi le \ che verranno aggiunte se le gpc_magic_quote sono attive.
A questo punto un buon wrapper potrebbe essere :
Codice PHP:
foreach($_GET as $n=>$v)
{
$tmp = rawurldecode($v);
if ( !get_magic_quotes_gpc() )
$tmp = addslashes($tmp);
$$n = $tmp;
echo "var: ".$n." = ".$tmp."
";
}