Grazie per la dritta. ho sistemato così:
Purtroppo c'è un problema, se ad posto del contenuto di $url metto un indirizzo web normale, compreso di ancora, funziona tutto correttamente; ma se invece lo scrivo come sopra si verifica una stranezza: nella 3a riga (echo $url) viene stampato tutto l'indirizzo(con tanto di ancora), quindi la pagina prende lo script teoricamente è giusto, ma poi quando lo passa a $fragment è come se perdesse l'ancora, e $_SESSION['prova'] divinte uguale a " ".....Codice PHP:$a = "<script>document.write(location.hash.substring(0));</script>";
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]$a";
echo $url;
$fragment = parse_url($ur, PHP_URL_FRAGMENT);
$arr=explode('=',$fragment);
$_SESSION['prova'] = $arr[1];
Se copio e incollo l'indirizzo e lo metto in $url al posto del contenuto attuale funziona tutto correttamente. Avevo pensato che php essendo più veloce di javascript creava un conflitto e lo script non si sarebbe mai visto, ma invece stampando $url prima di $fragment ho avuto la conferma che l'indirizzo preso è esatto, quindi il problema è di altro tipo e non sò come risolvere.
![]()

Rispondi quotando