21. Ret din gæstebog til

Du er her: StartIndholdsfortegnelse → Ret din gæstebog til
Indhold

Indledning

Når man giver brugere ude på nettet mulighed for at indsætte data i ens database er det altid en god idé at checke de data brugeren indtaster.

Nogle gange laver brugeren også linieskift (taster enter) i teksten. Det vil blive ignoreret af browseren, med mindre man laver disse linieskift om til HTML-koden <br>

Check for koder

Du skal bruge en af PHP's indbyggede funktioner til at checke, om din bruger har indtastet nogle (ondsindede) koder i et af felterne. Til dette bruger vi funktionen HTMLSpecialChars("tekst der skal checkes").

  1. Start WebWriter
  2. Aktiver mappen
  3. Åbn siden gbog_formular.htm, som du oprettede i Kapitel 19.
  4. Find det sted hvor der står følgende:
    $navn = $_POST['navn'];
    $email = $_POST['email'];
    $besked = $_POST['besked'];
    
  5. Lav en tom linie under disse tre koder og skriv følgende:
    $navn = HTMLSpecialChars($navn);
    $email = HTMLSpecialChars($email);
    $besked = HTMLSpecialChars($besked);
    
    Nu har du sørget for at checke for koder, der ikke skulle være der. Hvis der optræder koder vil de blive omdannet til uskadelige koder.

Omdan linieskift til <br>

Du skal nu sørger for at der bliver indsat linieskift med <br> de steder hvor brugeren har tastet ENTER. Dette har PHP også en indbygget funktion til: nl2br("tekst med linieskift"):

  1. Din markør står sandsynligvis stadig under den sidste kode du indtastede ovenfor. Tilføj nu følgende:
    $navn = nl2br($navn);
    $email = nl2br($email);
    $besked = nl2br($besked);
    
  2. Gem siden igen og upload den til serveren. Nu er din database sikret mod indtastning af ondsindet kode.