Just nu i M3-nätverket
Gå till innehåll
Pumafliff

förhindra dubbelpost av kommentarer via refreshknapp

Rekommendera Poster

Håller på med ett kommentarsformulär till en hemsida. Jag är noob på området, men har lyckats åstakomma iaf den funktion jag vill (bla med hjälp härifrån) även om koden kanske inte är den snyggaste.

Hur som helst så är det en sak som gäckar mig lite. Om jag skriver en kommentar och trycker skicka i mitt formulär så dykerden snyggt upp som den skall under själva nyhetsartikeln, men om jag nu trycker uppdatera på web-läsaren så kommer den där frågan om att skicka data igen... svarar jag ja där så kommer samma kommentar en gång till. Inser att det här är rätt naturligt, men det borde finns nåt sätt att komma runt det hela... eller?

Som info:

Man behöver inte vara inloggad för att skriva kommentarer, alltså inga sessions eller så.

Sendknappen i mitt formulär öpnnar på nytt samma php-sida som man är inne på men lägger till variabeln [comment=upload]. php-siden vi talar om börjar med att kika på om variabeln comment är satt till upload och om den är det så skriver den data till en tabell i min databas och längre ner på sidan hämtar jag datat ur den tabellen för att visa alla kommentarer. Efter att data är skrivet till tabellen så kör jag en [unset] på variabeln comment.

Klurade ett tag på om jag kunde lägga till något hidden-fält i mitt formulär, som avgör om data verkligen skickas eller inte men dels fick jag det inte att funka och dels så kom jag fram till att den torde göra samma sak.

 

Någon som har ide hur man gör här?

Tack

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

okej... nu ska vi se om jag hajar... mitt formulär har ju en skicka-knapp och det är väl då jag "post'ar" mitt formulärdata va, eller kan man göra det på nåt annat sätt också?

Hur menar du att göra det

innan nån html skickas ut
.

Läste lite om PRG, men kanske behöver mer info. Att skicka post'en någon annanstans verkar ju inte vara så svårt, bara att ange en annan sida i "Action" i mitt formulär väl?

Men sedan är jag inte riktigt med vad jag gör med GET...?

 

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Ja, det enklaste sättet är väl att ändra action till nån sorts redirect.php som innehåller typ:

<?php

 

$data = $_POST['data'];

 

//insert code to save data to database

 

header("Location: http://länktillsidamedformuläret']

 

?>

 

Grejen är du inte får ha nån echo eller nåt annat som spottar ut text före header, för header måste komma först. Men det kommer du få felmeddelande om ifall du skulle göra fel.

 

GET behöver du inte göra nåt med, det sköter sig självt av webbläsaren.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...