webForumDet fria alternativet

Anmälningsformulär nåt man ska tänka på?

PHP

2 svar · 387 visningar · startad av aron

Medlem sedan mars 2004485 inlägg
Frågan#1

Hej

Jag är helt nybörjare på php och har gjort ett anmälnings formulär, är det nå missar, säkerhets grejor man ska tänka på eller nått.

Så här har jag gjort:

<form action="action.php" method="POST">
 Namn: <input type="text" name="name" /><br />
 Jag vill gå på årsmötet: <input type="checkbox" name="meeting" /><br />
 Jag vill ha biljett till fest: <input type="checkbox" name="party" /><br />
 <input type="submit" />
</form>
<?php 

// Filen som anmälningarna sparas till.
$filename = 'test.txt';

// Data från formuläret.
$content = "  name: $_POST[name] meeting: $_POST[meeting] party: $_POST[party]  ";

// Kollar så att filen existerar och är skrivbar.
if (is_writable($filename)) {

   // Öppnar filen i in append mode(lägga till längst bak i filen).
   if (!$handle = fopen($filename, 'a')) {
         echo "Cannot open file ($filename)";
         exit;
   }

   // Skriver $content till vår fil.
   if (fwrite($handle, $content) == FALSE) {
       echo "Cannot write to file ($filename)";
       exit;
   }

   echo "Success : $content added.";
  
   fclose($handle);

} 
else {
   echo "The file $filename is not writable";
}
?>

Och tanken är alltså att anmälningarna skrivs in i test.txt vilket funkade fin fint när jag testade.

Medlem sedan juli 2006461 inlägg
#2

Nu kör i och för sig du med textfil, men Kennel är en hejjare på vad man ska tänka på när det gäller säkerhet när man jobar med databaser. På http://www.punbb.org/articles/php.html har han skrivit en grymt bra guide med lite tankar och erfarenheter vad man ska tänka på.

En detalj som jag reagerade på är att du matar in besökarens data direkt i textfilen vilket inte alltid är så käckt. Men det beror i och för sig plite på vad du ska göra med textfilen sen. Du bör kanske kika lite på htmlentities() och addslashes() t.ex.

Det är förresten Kennel som har utvecklat forumet punBB. :)

Medlem sedan nov. 200013 890 inlägg
#3

Glöm inte heller att stava rätt till "biljett". ;)

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)