Gå til innhold

Dobbel post ved oppdatering av gjestebok..


Anbefalte innlegg

Hei! Ett problem jeg har hatt lenge med script jeg har laget som feks. gjestebøker er at når brukerne skriver en melding også oppdaterer de siden etter at de har skrevet meldingen så blir det en dobbelpost... Har søkt litt i forumet men fant ingen måte på å få bort dette.. Noen som kan hjelpe meg med det? Takk!

Lenke til kommentar
Videoannonse
Annonse

Det finnes to måter å løse dette på.

 

1. søke gjennom databasen for å sjekke om innlegget er registrert tidligere.

 

2. bruke header("Location:...") etter du har lagret data.

 

Det er løsning to burde satse på. På php siden der du lagrer (inserter) så har du ingen output, men bruker heller header("Location: index.php") // eller hva siden heter

for å vise siden.

Lenke til kommentar

Takk! Men trokke jeg skjønte dette helt.. Det jeg holder på med nå er en shoutbox, der jeg lagrer og skriver inn meldingene er på samme side.. Alltså så er actionen for formen echo $_SERVER['PHP_SELF']; og jeg bruker iframe for å hente ut det som er skrevet.. Hvor da skal jeg putte header("Location: index.php")?

Lenke til kommentar
Takk! Men trokke jeg skjønte dette helt.. Det jeg holder på med nå er en shoutbox, der jeg lagrer og skriver inn meldingene er på samme side.. Alltså så er actionen for formen echo $_SERVER['PHP_SELF']; og jeg bruker iframe for å hente ut det som er skrevet.. Hvor da skal jeg putte header("Location: index.php")?

Ja tror det holder med "location: $_SERVER['PHP_SELF']" ja.

 

Fordi da forsvinner _POST dataene. Er ikke sikker, men ganske sikker :p

Lenke til kommentar

header("Location: ".$_SERVER['PHP_SELF']) vil nok fungere lokalt på maskinen din, men det er avhengig av hvordan webhotellet ditt er satt opp hvis det fungerer der også. Jeg ville ikke satset på den løsningen.

 

Videre er det feil bruk av header, HTTP 1.1 speifikasjonene krever egentlig at man skal bruke full adresse, dvs. http://www.ditt-domene.no/side.php. Det fungerer uten med de fleste browsere, men hvis det ikke fungerer med en browser, eller en eldre versjon så skyldes det at du ikke har skrevet scriptet korrekt.

 

header må komme før noe output.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...