Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Bibehålla värden i ett formulär?

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1

Hej, är det någon som kan hjälpa mig att hitta ett Php-formulär där
innehållet inte töms när man anropar den egna sidan.

Om du skickar formuläret med POST så kommer variablerna hamna i arrayen $_POST['fältnamn'] alltså <input type="text" name="epost"> kommer hamna i $_POST['epost']

Det kan du använda för att fylla i det som just skickades på följande vis:

<input type="text" name="epost" value="<? if(!empty($_POST['epost'])) echo $_POST['epost']; ">

Du får dock tänka på att man aldrig ska använda användar-input direkt som i exemplet ovan utan snarare göra såhär:

//Detta placeras överst på sidan

$epost = ''; //Sätter standardvärden

//Har någon redan postat formuläret fylls detta i men först oskadliggörs all html i det postade
//så att användaren inte kan "förstöra" sidan genom att skriva saker som </html> eller liknande
if(!empty($_POST['epost']))
$epost = htmlspecialchars($_POST['epost']);

//och sedan i html-koden skriver du bara
<input type="text" name="epost" value="<?=$epost;?>">

Om du inte redan visste det så är <?=$variabel;?> bara ett kortare sätt att skriva <? echo $variabel; ?> på

Ursprungligen av Gabriel Falkenberg:

Om du inte redan visste det så är ...

Tack Gabriel,
jag är helt grön i Php men ska testa detta ikväll.

  • Medlem
  • Stockholm
  • 2005-03-12 10:41

Ännu snyggare tycker jag det är att skriva

<input type="text" name="epost" value="<?php echo htmlspecialchars(@$_POST['epost']); ?>" />

@ stryper eventuella felmeddelanden. Det eventuella felmeddelandet du kan få är att variabeln $_POST['epost'] inte är satt.

Ursprungligen av ivar:

Ännu snyggare tycker jag det är att skriva

<input type="text" name="epost" value="<?php echo htmlspecialchars(@$_POST['epost']); ?>" />

@ stryper eventuella felmeddelanden. Det eventuella felmeddelandet du kan få är att variabeln $_POST['epost'] inte är satt.

Det där gör ingen nytta, med @ framför variabelnamnet. @ ska istället stå framför htmlspecialchars:

@html...

Det är funktionen htmlspecial... som ger felmeddelande, och inte variabeln.

  • Medlem
  • Stockholm
  • 2005-03-12 19:25

oj, kan bli fel när det går för fort. (+ att jag inte skriver så där själv, kör med warnings off på skarpa siter och på lokala vill jag se alla tänkbara varningar)

1
Bevaka tråden