Einfaches Demo Seitenmodul: Eingabeformular

Tutorien zu Seiten Modulen

Einfaches Demo Seitenmodul: Eingabeformular

Beitragvon henner » Mi 25. Aug 2010, 09:24

Ich habe ein einfaches Demo-Eingabeformular erstellt, auf dem man eigene PHP-Scripte aufbauen kann.

Installation: Den folgenden Code in eine Datei "mod_test.php" im Unterverzeichnis "modules/test" kopieren. Danach im Admin-Modus von CMSQLite das Modul unter Seitenmodule mittels der Eingabe "test" registrieren. Jetzt kann ein neuer Menüpunkt angelegt werden, der auf das Seitenmodul "test" zurückgreift. Im Frontend kann man nun das Modul über den Menüpunkt testen.

Code: Alles auswählen
<?php
print "Letzer versandter Text: ".$_POST['text']."<br /><hr /><br />";
print <<<ENDE
<form method="post" action="">
Neuer Text: <input type="text" name="text"><br>
<input type="submit" name="Button" value="Abschicken">
</form>
<hr />
Dies waren die Parameter:<br />
ENDE;
foreach(array_keys($_POST) as $item) {
   print "\$_POST['".$item."']=".$_POST[$item]."<br />";
}
foreach(array_keys($_GET) as $item) {
   print "\$_GET['".$item."']=".$_GET[$item]."<br />";
}
?>
henner
 
Beiträge: 11
Registriert: So 11. Apr 2010, 09:41

Re: Einfaches Demo Seitenmodul: Eingabeformular

Beitragvon Stoffel » Mi 25. Aug 2010, 09:50

Hallo Henner,
danke für Deine Anleitung.

Um Einbruchsmöglichkeiten zu unterbinden müssen $_GET und $_POST-Variablen UNBEDINGT abgesichert werden, bevor sie weiter genutzt werden.

CMSQLite enthält seit Version 1.3.1 bereits Funktionen, die das erledigen.

Zunächst ist die Datei "common.php" einzubinden.
Code: Alles auswählen
include DOCUMENT_ROOT."/common.php";


Werden Zahlen übergeben, sollte die Zuweisung einer Variablen wie folgt erfolgen:
Code: Alles auswählen
 $zahl = $USER->sanitizeNo($_GET['zahl']);


Wird die Sprache übergeben:
Code: Alles auswählen
 $lang = $USER->sanitizeLang($_GET['lang']);


Werden Strings übergeben:
Code: Alles auswählen
 $word = $USER->sanitizeWord($_GET['wort']);


Für POST-Variablen gilt das obige natürlich analog.

Beispiele befinden sich in der Datei index.php im Stammverzeichnis (ab Version 1.3.1), oder im Verzeichnis "admin/helper" da dort auch die GET/POST Variablen abgesichert werden müssen.
Stoffel
Administrator
 
Beiträge: 40
Registriert: Di 23. Mär 2010, 08:42

Re: Einfaches Demo Seitenmodul: Eingabeformular

Beitragvon henner » Do 26. Aug 2010, 08:00

Danke. Ich arbeite noch mit der 1.3 Beta 3 zu Testzwecken, daher waren mir die Beispiele nicht bekannt. :geek: Ich werde mal updaten.
henner
 
Beiträge: 11
Registriert: So 11. Apr 2010, 09:41


Zurück zu Tutorials Page Modules



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron