Gå til innhold

Hvordan slette $_POST['submit']


Anbefalte innlegg

hei,

hvordan sletter jeg denne?

 

Det skal brukes i et enkelt system for å registrere brukere.

 

Men hvis man refresher siden etter å ha trykket "Meld på" så husker den fortsatt $_POST['submit']. Jeg vil gjerne slette denne etter første gang. unset() funka ikke :(

Endret av hockey500
Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet-cfOgpBusmt

Grunnen til dette skyldes at HTTP er en stateless protokoll, og at browseren vil beholde POST-datene etter at de er overført. Du kan f.eks. lage en side som behandler dataene, og bruker header() til å redirecte til en annen side.

Lenke til kommentar

jeg pleier å bruke det kyberbob foreslår. På siden du behandler dataene, bruk en header() for å redirecte f.eks til samme sida. For så å kanskje skrive ut en trivelig melding nrå du ser at $_POST['submit'] ikke er satt. 'Takk for at du skrev inn ting i skjemaet mitt. Refresh så mye du vil, det vil ikke bli registrert mer enn en gang.'

Lenke til kommentar
Gjest Slettet+6132

<?
if (!$POST['submit']) {
 echo "Juks?";
} else {
 reggfunksjoner();
 header("Location: takk_for_regg.php");
}
?>

 

Noe slikt? Ha alltid en side som du går til etterpå og sier at registreting er utført, hvis du bruker header() så vil det ikke hjelpe med "tilbake"-knappen heller.

Lenke til kommentar

unset() fungerer akuratt om det skal i dette tilfellet, men det vil ikke fungere til ditt bruk. Siden hver gang brukeren oppdaterer siden så vil alle POST variablene sendes på nytt, og derfor har det ingen ting å si at du slettet en POST variabel forrige gang - siden den nå er sendt på nytt.

 

Forslaget med header() er den mest praktiske løsningen. Sessions eller cookies fungerer også, men header vil nok være enklest.

 

I scriptet som tar i mot skjemaet så legger du til

 

header("Location: http://www.dittdomene.no/takk.html");

exit;

 

Legg merke til to ting:

1. Bruk alltid full adresse til scriptet, inkl http://www. Dette er fordi det er det som er standard, og dersom du ikke bruker det så er det scriptet ditt som er feil - og ikke browseren det er noe i veien med dersom det ikke fungerer.

2. Dersom du har mer script etter header() så bruk alltid exit; slik at ikke scriptet fortsetter å kjøre.

Lenke til kommentar

www er ikke nødvendig dersom domenet www.dittdomene.no og dittdomene.no er begge satt opp. Selv om det finnes anti www sider på nettet så må man ikke tro på noen som helst måte at www.dittdomene.no og dittdomene.no alltid og automatisk er det samme. De store kontrollpanelene som Cpanel og DirectAdmin setter alltid opp begge deler, men det er ikke alle sider som er hostet på slike kontrollpaneler.

 

Poenget er enkelt:

dersom www.dittdomene.no og dittdomene.no "peker" på samme side så er det inne nødvendig med www. - men dette er avhengig av DNS oppsettet på serveren.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...