![]() |
På min förstasida.php har jag en form som skickar vidare data med hjälp av "post" till en annansida.php. På annansida.php skrivs datan in i min databas, samtidigt som jag skriver ut datan på skärmen.
Hur ska jag göra så att inte informationen skrivs in i databasen igen när man trycker Refresh? |
måste väl gå med en vanlig submit knapp? att när det skall in i en databas så klickar man, klickar man inte så ska de inte in något..
jag är inte så duktig så du vet. |
på annansida.php så kör du nånting i stil med
if (count($_POST) > 0) { // släng in datan i databasen header("Location: annansida.php"); exit; } så insert'ar den bara när sidan submittas å det gör den endast ifrån framsidan |
Fyll i ett gömt-fält med ett random unikt värde som du lagrar i databasen som en kontrollnyckel vid en sparing. Vid var sparning kollar du om det värdet redan finns i databasen - om det gör det avbryter du procesen och skriver ut ett meddelande om att användarna inte ska refresha efter post :)
|
Jag brukar sätta att submitknappen heter skicka, och på processidan så gör jag en if sats i stil med if(isset($_POST["skicka"])) {..}. Gillar detta lite bättre än lunarmys förslag då det gör att koden blir mer lättläslig.
MVH |
Jag sitter och jobbar lite med lunarmys förslag men det går inte så bra. Så jag ska testa adams variant.
|
Kod:
if(isset($_POST["skicka"])) {..} |
Kolla om datan redan finns i databasen?
|
Citat:
|
Citat:
Så här vill jag att sida ska fungera: Besökaren anger sin längd i min form sen när man trycker skicka så kommer man till en ny sida där datan läggs in i en databas. Hämta: $allas-totala-längd från databas. Räkna fram nytt värde: $allas-totala-längd = $allas-totala-längd + $_POST['längd'] Uppdatera: $allas-totala-längd i databasen. Visa den nya: $allas-totala-längd på hemsidan tillsammans med den datan som matades in i formen. |
Alla tider är GMT +2. Klockan är nu 06:00. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson