drips/form

Formularsystem basierend auf PHP

v1.0.0 2016-07-30 10:39 UTC

This package is not auto-updated.

Last update: 2024-10-26 20:26:30 UTC


README

Build Status Code Climate Test Coverage Latest Release

Formulare können in ganz normalem HTML-Code erzeugt werden. Der einzige Unterschied besteht darin, dass das <form> wie folgt geschrieben wird {form}. Der Grund dafür ist, dass man bei einem gewöhnlichen HTML-Formular lediglich GET- und POST-Requests absetzen kann. Bei der verbesserten Variante von Drips sind auch andere Request-Methoden möglich, wie z.B.: DELETE.

{form action='/user/1' method='delete'}
    <button type="submit">Delete</button>
{/form}

Funktionen

Flash Data

Sinnvollerweise wird zwischen den unterschiedlichen Routen umgeleitet (bei verschiedenen Request-Methoden). Aus diesem Grund ist es oftmals erforderlich die Formulardaten (Eingaben) weiterzureichen. Hierfür kann $request->flashData() verwendet werden. Damit sind die Formulareingaben auch noch beim nächsten Seitenaufruf verfügbar.

Values auslesen

Mithilfe der Funktion value() können Formularfelder wieder befüllt werden. Außerdem kann ein Standardwert übergeben werden, welcher eingetragen wird, wenn das Formular noch nicht abgesendet wurde (optional).

<input type="text" name="name" value="{value('name',  'Max Mustermann')}"/>

Das Beispiel schreibt entweder der Wert des Eingabefeldes hinein, sobald es abgesendet wurde, oder aber Max Mustermann wenn es noch nicht abgesendet wurde.

CSRF-Protection

Um sich gegen CSRF absichern zu können gibt es eine Funktion checkCsrf() die entweder true oder false zurückliefert.

<?php

if(checkCsrf()) {
    echo 'Valid request';
} else {
    echo 'Invalid Csrf-Token';
}