Newsgroup: it.comp.www.php
Titolo: dopo il # niente invio al server

Salve a tutti,
 
sono quasi certo che il dato post-cancelletto, ossia l'anchor, non venga
inviato al server, dunque impossibile da ricavare via php.
 
Un esempio: se l'utente digita www.dominio.coz/index.php?a=1#pippo
 
io posso venire a conoscenza che la query � a=1, ma non che l'ancora �
pippo.
 
Per�, come detto all'inizio, sono *quasi* certo, non completamente.
 
Volete per cortesia dirmi se pippo REALMENTE non viene inviato al
server? Perch� eventualmente, quel pippo mi farebbe comodo ricavarlo.
 
Mille grazie.
 
-- 
mailto: y = i
------------------------------------------------------
http://www.catarsi.it
 
Vivo nel terrore di non essere frainteso (Oscar Wilde)

 www.dominio.coz/index.php?a=1#pippo
 
hai provato con:
 
www.dominio.coz/index.php#pippo?a=1
 
?
 
-- 
Alessandra
 
Non c'� nulla, senza dubbio, che calmi lo spirito come un rum e la vera
religione - A Einstein

 server? Perché eventualmente, quel pippo mi farebbe comodo ricavarlo.
 
Non puoi. E` un'informazione "client-side". Lo puoi sfruttare in 
javascript (window.location.hash, mi pare), ma non lato server.
 
Al massimo lo puoi ricavare via AJAX dopo il caricamento della pagina.
 
 
Bye.
 
P.S.: Non so coi browser vecchi. Io ho provato con le versioni recenti, e 
il dato non arriva al server.


+1
Lo si intercetta solo lato JS e a quel punto per mandarlo al server 
bisogna cmq fare una chiamata che lo metta nella query
 
 
@OP
C'è da dire che #qualcosa serve per spostarsi fra le <a>nchors della 
pagina, è meglio lasciarle fare il lavoro per cui è pensata
In che contesto ti serve?
 
 
-- 
I fatti mi cosano
 
 

 In che contesto ti serve?
 
Cerco di farla breve, ma non può essere brevissima.
 
Sto gestendo provvisoriamente un forum phpbb. E' un lavoro che non mi
compete, ma al momento do una mano, ovviamente nei limiti del mio
tempo/possibilità/traballanti_conoscenze_php. E' chiaro che per
soddisfare le altrui esigenze cerco strade agevoli, veloci,
possibilmente a rischio zero di sputtanare il codice php preesistente
nonché il database.
 
Ogni post, ovvio, ha un suo ID, ma l'url diretto a quel preciso post
(che le persone si scambiano sui social network, via email ecc.) non è
di questo genere:
 
[...]viewtopic.php?idPost=12345 // sarebbe facile
 
bensì:
 
[...]viewtopic.php?f=12345&p=123456#p12345
 
ovvero, due variabili e un'anchor. Sono questi *tre* elementi che
conferiscono univocità al post. Le prime due variabili non bastano.
 
Al titolare del forum interessa un tipo di statistica che sarebbe
facilmente ottenibile se l'anchor giungesse al server; diversamente la
vedo dura, o quantomeno troppo lunga, per il tempo che (non) ho.
 
Insomma, è facile che alzi bandiera bianca, tanto non è un gran male.
 
Grazie, a presto.


 www.dominio.coz/index.php#pippo?a=1
 
Non ho provato, ma non ho neanche facoltà di intervenire sull'url. Vedi
risposta a Marco Albarelli.
 
Grazie comunque, alla prossima.


 javascript (window.location.hash, mi pare), ma non lato server.
 
Sì, col js è un dato ricavabile, ma se leggi la risposta a Marco
Albarelli capisci subito che non è questo il caso di servirsene.
 
Grazie comunque, a presto.



 
-- 
I fatti mi cosano
 
 

 conferiscono univocità al post. Le prime due variabili non bastano.
 
Non uso da un secolo phpBB ma non mi sembra sia come dici: 'f' è il 
parametro che indica il "forum" (l'argomento), 't' indica il thread, 'p' 
il post.
Già con f + p hai l'indicazione univoca del post mentre con f + t hai 
quella del thread.
Se provi a sostituire #p12345 con &p=12345 ottieni il post indicato, ad 
esempio per il quoting: mode=quote&f=54321&p=12345
Il valore dell'ID del post è contenuto nella variabile POST_ID, se hai 
accesso ai sorgenti puoi usarla per salvare i dati da (ad esempio) 
viewtopic.php nelle tue statistiche.
 
Per tornare alla domanda di partenza: dalle specifiche[1] il cancelletto 
viene considerato un carattere riservato che non viene inviato al server.
Se chiami un indirizzo del tipo che indichi solo la parte antecedente al 
cancelletto viene inviata al server (ad es. puoi vederla in 
$_SERVER['REQUEST_URI']), il resto serve solo al browser.
Come temevi e come ti è stato giustamente suggerito.
 
L'ideale sarebbe sapere a cosa (e come) ti serve il codice del post in 
modo da capire entro quali margini lo si può ricavare.
 
Pablo
[1] 
http://www.w3.org/Addressing/URL/url-spec.txt
 

 sulla pagina. Se ci naviga all'interno usando le <a> ovviamente no 
 
Bene, vedrò di informarmi, ma la vedo dura: se il dato non giunge al
server, bisogna che analytics elabori la richiesta via js e la spedisca
al server. Non so, magari lo fa, boh.
E comunque, te lo dico in tutta sincerità, non ho voglia di bacarmi le
p@lle per uno sfizio altrui, per quanto amico possa essere. Fosse stata
la fatica di scrivere:
 
INSERT INTO my_Table (l'id del nuovo topic, qualora non esista)
 
quindi:
 
UPDATE my_Table SET qt_clic = qt_clic + 1 WHERE ecc.
 
... credo che in un'ora sarei stato pronto. Così invece la faccenda si
complica... un po' troppo per i miei gusti ;) 


 viewtopic.php nelle tue statistiche.
 
L'idea è buona, ma non voglio toccare il codice esistente: non è mio il
forum, presto tornerà nelle mani di qualcun altro. Diverso sarebbe stato
aggiungere una nuova tabella, due righe di codice (commentate unicamente
per un eventuale ripulisti) e via.  
 
Ti ringrazio anche per tutto il resto. A rileggerci!


 viewtopic.php nelle tue statistiche.
 
Ripensandoci, forse mi hai dato l'idea giusta. Forse. Ti/vi faccio
sapere nei prossimi giorni.


 complica... un po' troppo per i miei gusti ;)
 
In realt� non credo tu sia particolarmente lontano dalla soluzione.
Ad esempio con jquery potresti fare (non testato):
 
$(function(){$(document).ready(
  function() {$.post('/salvadati.php', { "hash": 
window.location.hash.replace("#", "")});
  });
});
 
e in salvadati.php ti gestisci $_POST['hash'].
 
-- 
ValeRyo 
 
 

 sapere nei prossimi giorni.
 
Anche se trovo che possa interessare il giusto, mantengo la parola. 
 
Esito: niente da fare. Basta, fine.
 
Motivi:
 
1. non mi viene concesso di modificare l'url, nel senso che non posso
aggiungere la variabile che serve.
 
2. dal momento in cui non sono affari direttamente miei, NMPFDM :) ho
perso fin troppo tempo e ne ho fatto perdere a voi.
 
In compenso questo dialogo ha dato i suoi frutti, nel senso che se
domani volessi apportare qualche modifica (diciamo analoga) a un MIO
forum, laddove posso fare il ca��o che voglio, so gi� dove mettere le
mani.
 
Ringrazio di nuovo tutti, alla prossima.
