Toon posts:

Vorige werkt niet na POST

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een kleine zoekfunctie gemaakt. men krijgt een invoer veld te zien, tikt daar een zoekwoord in, en vervolgens wordt dit woord dmv POST naar de zoekfunctie gestuurd, deze loopt de MySQL database door en geeft de resultaten weer.
Dit werkt goed, maar nu klikt iemand een link aan uit de resultaten, wordt naar de juiste productpagina doorgestuurd en klikt vervolgens op vorige.
Dan krijg je de melding "pagina niet gevonden" druk ik dan op F5 krijg ik het lege zoekveld weer.. iemand enig idee hoe dit kan?

Verwijderd

Dan moet je GET ipv POST gebruiken, dan zit de data in de URL. Als je dan terug gaat staat de data in de URL en wordt de database opnieuw doorlopen. Hiermee zou je dus het probleem oplossen. Alleen is GET niet geschikt voor hele grote strings.

  • watzie
  • Registratie: Juni 2001
  • Laatst online: 21-04 07:06
Dat is min of meer het gewenste karakter van POST. Derhalve is daar ook geen workaround voor want dat wil je niet. De algemeen geaccepteerde standaard is: POST gebruik je voor statechanges, GET gebruik je voor navigaties. Natuurlijk heeft POST nog enige voordelen boven GET met name wanneer je grote hoeveelheid data wilt versturen en wanneer je non ascii karakters zorgeloos wilt versturen.
Omdat POST dus eigenlijk bedoeld is voor een state change (bijvoorbeeld 'klik hier om het geld over te maken' of 'verwijder deze klant') is in het protocol ingebouwd dat je niet zomaar een post mag refreshen (wat in feite is wat er gebeurd als je back gaat in je browser) en dus wordt er altijd om een niet uitschakelbare bevestiging gevraagd.

Anyway is het wel perse nodig dat die zoek actie een post ipv een get is? Als het simpelweg een paar parametertjes zijn en het is niet erg die search opnieuw uit te kunnen voeren (dus je staat juist toe dat back enzo mag) dan ben je snel klaar met post->get.

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 13:58

Pelle

🚴‍♂️

Idd :)

Dit topic is gesloten.