php: nome file da url + riferimento ad ancora interna
Moderatore: Staff
Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- giberg
- Linux 4.x

- Messaggi: 1282
- Iscritto il: mer 21 set 2005, 17:28
- Nome Cognome: Gianni
- Slackware: current64
- Kernel: 3.7.1
- Desktop: 4.8.5
- Località: S. Biagio di Callalta (TV)
php: nome file da url + riferimento ad ancora interna
Ciao
Ho bisogno di estrarre il nome di un file (pagina web) corrente comprensivo del riferimento ad un ancoraggio interno alla pagina stessa, tramite php...
Esempio:
/percorso/pagina.php#rif1
/percorso/pagina.php#rif2
ecc.
con basename($_SERVER["PHP_SELF"]) estraggo solo pagina.php .
C'è un modo per estrarre pagina.php#rif1?
Grazie
Ho bisogno di estrarre il nome di un file (pagina web) corrente comprensivo del riferimento ad un ancoraggio interno alla pagina stessa, tramite php...
Esempio:
/percorso/pagina.php#rif1
/percorso/pagina.php#rif2
ecc.
con basename($_SERVER["PHP_SELF"]) estraggo solo pagina.php .
C'è un modo per estrarre pagina.php#rif1?
Grazie
- giberg
- Linux 4.x

- Messaggi: 1282
- Iscritto il: mer 21 set 2005, 17:28
- Nome Cognome: Gianni
- Slackware: current64
- Kernel: 3.7.1
- Desktop: 4.8.5
- Località: S. Biagio di Callalta (TV)
Vero, non ci avevo pensato...dapuzz ha scritto:no perchè il link tramite "ancoraggio" non invoca il server, ma è interpretato solo via browser.
Non volevo usare javascript, visto che io stesso li blocco quando navigo...dapuzz ha scritto: Al massimo forse potrebbe essere possibile tramite javascript.
In pratica ho un menù in php. In un array sono contenuti URL e descrizioni. Poi parte un ciclo e viene confrontato il basename della pagina corrente con il basename dell'URL. Se corrispondono allora compare anche un'immaginetta affianco al link attivo (che sarà visualizzato come testo senza <a href...>) se invece non corrispondono allora viene visualizzato il link normalmente.
Se sono link normali tutto funziona, se ci sono link con un riferimento interno alla pagina, del tipo pagina.php#rif, allora no.
si, con ajax potresti fare follie facendoti ricaricare al volo la pagina php che genera il menu passandoci tu l'indirizzo corretto, ma come hai già detto non vuoi usare js, quindi niente ajax :P
Codice: Seleziona tutto
function live(url,idmenu,idspinner)
{
var liveUrl = url;
var preview = document.getElementById(idmenu);
//var spinner = document.getElementById(idspinner);
if (window.XMLHttpRequest) {
liveReq = new XMLHttpRequest();
}
if (window.XMLHttpRequest) {
// branch for IE/Windows ActiveX version
}else if (window.ActiveXObject) {
liveReq = new ActiveXObject("Microsoft.XMLHTTP");
}
liveReq.onreadystatechange = function()
{
if (liveReq.readyState == 4 && (liveReq.status == 200 || liveReq.status == 304))
{
var testo = liveReq.responseText;
preview.innerHTML = testo;
//spinner.className = "spinner_hide";
}
//if (liveReq.readyState < 4 )
//{
// spinner.className = "spinner_show";
//}
};
// join them into a string.
fields = get_address_data(); //Ritorna un array con i parametri da passare via post alla pagina che genera il menu
var post = fields.join("&");
liveReq.open("POST", liveUrl,true);
liveReq.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
liveReq.send(post);
}
