Archief - PHP: post in een form blijft gecached

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

exserco

Legacy Member
Waarschijnlijk iets onnozels, maar...

als ik de onderstaande code gebruik en je vult de 2 velden in, krijg je de oplossing onderaan afgedrukt.
als ik nu echter in mijn browser "reload"(F5) gebruik (zowel in IE7 of in FF2.0), dan blijven de post-gegevens afgedrukt. Als ik in de plaats de paginalink opnieuw invoer, zijn die blijkbaar terug leeg.

Wat ik zou willen is dat de invoer, na verwerking op dezelfde pagina, "vergeten" wordt.
Bestaat er ergens zo'n commando om de $_post terug te legen?

Code:
<form action="test.php" method="post">
<input type="text" name="titel"><br>
<input type="text" name="link"><br>
<input type="submit" name="submit" value="bevestig"><br>
</form>

<?php
  echo $_POST['titel']."<br>".$_POST['link'];
?>

BleKKie

Legacy Member
als ge nu gewoon zegt van dat em dat moet weergeven als ge "ge-submit" hebt
PHP:
<?php
if($_POST['submit'])
{
     echo $_POST['titel']."<br>".$_POST['link'];
}
?>

dan gaat em da enkel maar tonen wanneer er ge-submit werd volgens mij

Cycloon

Legacy Member
Als ik het goed versta dan refresh je vlak na dat je het de eerste keer hebt ingegeven? Daar valt niks aan te doen vermits je browser die data opnieuw doorstuurt (normaal krijg je zelf waarschuwing ofzo dat je dezelfde postgegevens terug gaat verzenden).

killgore

Legacy Member
Wat hierboven is gezegd en nog een opmerking:
NOOIT $_POST, $_GET en $_COOKIE vars gebruiken zonder te controleren of ze bestaan via die magische functie isset.

exserco

Legacy Member
Cyc1oon zei:
Als ik het goed versta dan refresh je vlak na dat je het de eerste keer hebt ingegeven? Daar valt niks aan te doen vermits je browser die data opnieuw doorstuurt (normaal krijg je zelf waarschuwing ofzo dat je dezelfde postgegevens terug gaat verzenden).

Dit stukje code is gewoon een test om te zien wat er in de 2 velden werd ingevoerd.

Wat ik zou willen doen is het volgende:

1/ via een query een afdruk van een tabel laten verschijnen op een pagina
2/ via velden een invoer van de gebruiker krijgen.
3/ deze invoer laten inbrengen in de mysql database, waarvan we net de bewuste tabel hebben getoond in "1".
4/ de pagina automatisch, na de invoer in de database, laten refreshen, om zo het resultaat op het scherm te laten verschijnen. Op dit moment krijg je dus het eerste scherm (= aan het huidige, mits aanpassing van de invoer)
5/ als de gegevens die eerst werden gepost werden ingevoerd, en ik vind geen manier om na die refresh de $_POST te vergeten, kan indien er niks is ingevoerd in de velden, gewoon de submit worden uitgevoerd. Op die manier zouden dezelfde gegevens nogmaals kunnen worden ingebracht Dit zou niet mogen.

GuntherDW

Legacy Member
anders met seessions en/of cookies werken, om zo een var te setten als em vo de eerste keer iets post
(me een bepaalde hash om andere post values te voorkomen (da em "nieuwe" post values ni tegen houdt)), en dan te checke of de hash value overeenkomt

Radiance

Legacy Member
Dat lijkt mij een uitgebreide oplossing voor een probleem dat er niet is.

Die gegevens die in die velden blijven staan, dat komt niet door php of uw server, da's de browser die dat doet. En de browser zal dat ook enkel doen bij een manuele refresh (F5 dus).
Als je dat formulier submit worden die velden vanzelfsprekend naar hun default waardes terug gezet.

exserco

Legacy Member
Radiance zei:
Dat lijkt mij een uitgebreide oplossing voor een probleem dat er niet is.

Die gegevens die in die velden blijven staan, dat komt niet door php of uw server, da's de browser die dat doet. En de browser zal dat ook enkel doen bij een manuele refresh (F5 dus).
Als je dat formulier submit worden die velden vanzelfsprekend naar hun default waardes terug gezet.

Je hebt hier volledig gelijk. Blijkt dat als de verwerking is gebeurd en je een refresh laat uitvoeren vanaf de server, deze waarden zijn gereset.

Bedankt
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan