Jag har gjort ett litet php-script som ska skriva ut alla personer i en databas gjord i mysql. Det går även att lägga in personer via ett formulär. Detta funkar bra, men om jag trycker på uppdatera-ikonen i webläsaren så läggs det senaste namnet till igen och det var inte riktigt meningen. Hittade ett kommando som heter mysql_free_result(); men jag får bara felmeddelandet "wrong parameter count".
Nån som har nåt litet tips?
Själv brukar jag, för att slippa uppdateringsproblemet, ladda om sidan efter att jag sparat uppgifter från ett postat formulär. Vanligtvis gör jag det med header():
header("Location: sida.php");
exit;
// eller till samma sida
header("Location: ".$_SERVER['PHP_SELF']);
exit;
Det finns dock ett litet aber med header(). Det får inte finnas någon output till läsaren tidigare på sidan. Alltså ingen HTML, ingen echo, ingen tomrad eller ens ett mellanslag före php-taggen.
Gå man tillbaka en sida så kommer man till formuläret. Naturligtvis kan användaren posta om formuläret, men det sker inte av misstag genom att uppdatera.
Jag är ganska ny på det här med php, så jag undrar: Om jag sätter headern överst. Hinner scriptet ta emot variablerna från formuläret då, innan headern hinner uppdatera sidan?
Du låter först skriptet ta emot dina variabler och gör vad du ska. Sedan sätter du headern.
Men det är ett aber:
Du får inte ha någon output till läsaren före header().
Alltså, ingen HTML-kod, ingen echo eller print, ingen tomrad eller mellanslag före din php-tagg. Inkluderar du kod så se till att de inkluderade filerna inte har något mellanslag eller radbyte efter den avslutande php-taggen ( ?> ).
259 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91