Page expired

Pagina: 1
Acties:

  • rickmans
  • Registratie: Juli 2001
  • Niet online
Als ik met php werk en een aantal variabelen doorgeef naar bepaalde pagina's en als ik dan vervolgens op de back toets druk (om bijvoorbeeld info in een form te wijzigen) dan is de pagina verlopen (page expired). Kan ik hier wat aan doen (cookies of een andere manier) of moet ik dat maar gewoon accepteren?

Don't mind Rick


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Geen POST gebruiken.

Want verder kan je er weinig aan doen lijkt me.

  • rickmans
  • Registratie: Juli 2001
  • Niet online
geen POST gebruiken dus... kan GET dan wel of gewoon beiden weglaten??

Don't mind Rick


Verwijderd

Het lijkt me niet verstandig om met 'BACK' gegevens in een formulier te wijzigen. Zeker als de gegevens in een database worden opgeslagen, loop je het risico dat verkeerde (redundante) gegevens worden op geslagen. Ik weet niet de precieze code uit m'n hoofd, maar probeer eens een session met PHP, dan kan je namelijk de doorgestuurde variabelen in deze session stoppen.

Trouwens, bij GET zit er een limiet aan het aantal karakters die je kan meesturen. POST kent dit probleem niet *D

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 14-09 09:56
Trouwens, bij GET zit er een limiet aan het aantal karakters die je kan meesturen. POST kent dit probleem niet
protocol limiet: 255 karakters,
praktisch limiet: <browser&server afhankelijk, maar wel wat groter>

cookies zijn geen mogelijkheid omdat deze ook aan een maximum gebonden zijn en bovendien eigenlijk door je script gegenereerd moeten worden ('na ja, een extra headertje'), en dan moeten de variablen al via een post aan het script gevoert zijn (hoewel je aan de client-side ook met javascript een cookie kan plaatsen).

Je kan zelf wel een back knop plaatsen die een script aanroept dat dezelfde pagina genereerd als degene waar je naar terug wilt en dan voor de diverse forms waarden uit de sessie haalt.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • rickmans
  • Registratie: Juli 2001
  • Niet online
Op zaterdag 06 oktober 2001 14:06 schreef Nebuchadnezzar het volgende:
Het lijkt me niet verstandig om met 'BACK' gegevens in een formulier te wijzigen. Zeker als de gegevens in een database worden opgeslagen, loop je het risico dat verkeerde (redundante) gegevens worden op geslagen. Ik weet niet de precieze code uit m'n hoofd, maar probeer eens een session met PHP, dan kan je namelijk de doorgestuurde variabelen in deze session stoppen.

Trouwens, bij GET zit er een limiet aan het aantal karakters die je kan meesturen. POST kent dit probleem niet *D
Het is niet de bedoeling dat mensen dit doen, maar ze zouden het wel eens kunnen doen, maar zo te zien is het niet af te vangen.. :(

Don't mind Rick


  • EyE
  • Registratie: Mei 2000
  • Laatst online: 16-09 20:27

EyE

Ik heb dit ook gehad, was in een 3-stappen-zoek-systeem.
Als mensen in stap 3 een bepaald zoekcriterium aangaven en ze gingen toch nog ff terug naar stap 2 (via back-toets) dan was de page expired.

Oplossing:maak in je pagina een knopje of link naar de vorige, met in de url de formuliervelden van die vorige pagina. eenmaal op die pagina laat je het formulier al invullen aan de hand van de waarden uit de url-querystring (en die de gebruiker dus ook zojuist al had ingevuld)

mocht je dit wat lijken, kan ik wel wat meer in code-details zeggen.
de toepassing waar ik het over had staat hier:
http://www.eroticity.nl/index.php3?section=11
(nee niet expliciet blote vrouwen)
(nee, ook niet bedoeld als reclame)
Pagina: 1