Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Anchor e GET

  1. #1

    Anchor e GET

    Salve a tutti,
    ho cercato un po' in giro ma non ho trovato risposte al mio problema, quindi chiedo il vostro aiuto.
    Dunque, come da titolo, ho un problema utilizzando un anchor e il passaggio di parametri GET nella stessa URL.
    Ho la necessità di riempire un carrello e di visualizzare il contenuto passandogli l'ID prodotto via get (ad ogni click sul bottone "Aggiungi al carrello"). Oltre a questo ho la necessità di posizionarmi nella posizione della pagina riguardante il catalogo. Per farla breve per aggiungere il prodotto con l'ID=1
    <a href="?id=1#catalogo">
    ho il seguente URL ...

    miapagina.php?id=1#catalogo

    fin qui tutto ok. Purtroppo il catalogo non gestisce le quantità, e se voglio aggiungere lo stesso prodotto una seconda volta, richiama la stessa pagina, si riposiziona sull'anchor, ma non aggiunge nuovamente il prodotto al carrello, ovvero non prende i parametri passati dalla GET.
    Se aggiorno la pagina manualmente con F5, lo aggiunge; anche senza l'anchor funziona tutto bene ma poi non mi riposiziona la pagina sul catalogo prodotti.

    Spero di aver spiegato chiaramente qual è il problema. Suggerimenti???
    Ringrazio in anticipo tutti quelli che risponderanno.

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Si chiama cache.
    Cliccando di nuovo sul link che ha la stessa url, il browser riconosce che hai già aperto quella pagina e che ce l'ha salvata nella cache, quindi invece di inviare una nuova richiesta al server, ti ripropone quella che hai scaricato in precedenza.
    Se fai il refresh invece forzi l'aggiornamento.

    3 possibilità:
    - inserisci le varie direttive che prevengono l'uso della cache (pragma nocache, expire,...)
    - al link associ un evento js onclick e sarà poi una funzione js a chiedere l'aggiornamento del carrello
    - fai in modo che il link sia sempre diverso appendendo come parametro un numero casuale (con rand() per esempio) che poi non userai

  3. #3
    penso che tu debba gestire la problematica lato javascript. Premesso che non ho capito bene il discorso, cmq php e anchor non vanno proprio a braccetto , mentre javascript e ajax si....
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  4. #4
    Vi ringrazio per le celerissime risposte. Che figuraccia... non avevo pensato alla cache...
    Penso che risolverò con un numero casuale.
    Però avrei un'altra domanda (sicuramente farò un'altra figuraccia) come mai se tolgo l'anchor il carrello si aggiorna anche quando inserisco due volte lo stesso prodotto? In quel caso la cache non c'entra? Eppure sto richiamando due volte la stessa pagina miapagina.php?id=1
    Sarà che il cancelletto dell'anchor dia molto fastidio alla cache...

  5. #5
    Aggiornamento: come preannunciato ho tentato con la soluzione del numero casuale (che è quella che mi sembrava più rapida), ma purtroppo non funziona lo stesso... Ho creato una variabile di sessione che cambia al refresh della pagina, ma continua a non aggiungere al carrello il duplicato dell'ultimo elemento inserito...
    cioè se aggiungo li prodotto id=1 e il numero casuale dell'anchor è 40, la get sarà miapagina.php?id=1#40 e mi aggiunge correttamente il prodotto id=1 al carrello.
    Ora ponendo che io voglia aggiungere di nuovo il prodotto id=1 ma che questa volta il numero casuale dell'anchor sia 57, la get sarà
    miapagina.php?id=1#57 solo che il prodotto non viene inserito nel carrello.
    In entrambi i casi l'anchor funziona, cioè la pagina si posiziona dove deve posizionarsi, è solo quel maledetto carrello che non si aggiona.
    Da questo ho capito che solo una funzione js può risolvere la cosa. A tal proposito, siccome non smanetto molto con js, per caso vi ritrovate qualche funzione js che prende un parametro via post e stampa il risultato via codice?

    Vi ringrazio sempre in anticipo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.