xwolf.de|com

Menü

Inhalt dieser Site

Ansicht

Individuelle Benutzerkonfiguration für die Site.

Druckansicht Startseite Suchen

A A A A

XSign: Unterschriftenliste

Dieses Skript erlaubt die Einrichtung einer Online-Unterschriftensammlung.

Source Code

Perl Sourcecode
xsign.pl Das Skript xsign.pl
Achtung: Sollte beim obigen Download-Link fehlerhafterweise als Dateiname "xload.cgi" angegeben sein, ignorieren Sie dies und benennen den Dateinamen um. Einige Browser ignorieren leider den Standard zur Übermittlung von Dateinamen...

Wirkungsweise

Eintragsformular

Es handelt sich um ein ganz normales Formular:

Ihr Vorname lautet:
Ihr Nachname lautet:
Sie kommen aus welchem Ort:
Haben Sie eine Webadresse (URL)?
Wollen Sie noch eine kleine Notiz hinterlassen?

Ich stimme der Veröffentlichung meines Eintrags zu: Ja

Der zugehörige HTML-Code enthält nichts besonderes:

  <form action="/cgilocal/xsign/xsign.pl">
 	
	<input type="hidden" name="sign" value="demo">
	Ihr Vorname lautet:
	<input type="text" name="vorname" size="20">
	<br>
	Ihr Nachname lautet:
	<input type="text" name="nachname" size="20">
	<br>
	Sie kommen aus welchem Ort:
	<input type="text" name="ort" size="30">
	<br>
	Haben Sie eine Webadresse (URL)?
	<input type="text" name="url" size="30">
	<br>
	Wollen Sie noch eine kleine Notiz hinterlassen?
	<br>
	<textarea name="notiz" rows="4" cols="60"></textarea>
	<br><br>
	
	Ich stimme der Veröffentlichung meines Eintrags zu: 
	<input type="checkbox" name="valid" value="1">
	
	<input type="submit" value=" Abschicken ">
 </form>
 

Wichtig ist diese Zeile:

	<input type="hidden" name="sign" value="demo">

Hier geben Sie an, welche Zieldatei gemeint ist. Wobei dies hier nicht der Dateiname ist, sondern der Alias für den Dateinamen. Der echte Dateiname wird nicht über Web übertragen, sondern wird im Skript in der Zeile 46 definiert.

Liste anzeigen

Die Unterschriftenliste kann man sich am Besten über ein SSI-Skript anzeigen, bzw. ueber den Skriptaufruf, welcher dann in einem eigenen JavaScript-Fenster angezeigt wird.
Beispiel für den SSI-Aufruf:

Unterschriftenliste

Wolfgang Wiese
Erlangen
 23.5.2003, 18:31 UhrDies ist ein Demotext
Wolli Wolfgang
 
 23.5.2003, 18:52 Uhrtest
Daniel Duesentrieb
 
 23.5.2003, 18:53 UhrAlso ich finde das nun garnicht so gut. Da muesste jetzt noch was eingebaut werden, dass nicht doch Leute mit verschiedenen Namen beliebig oft sich eintragen, oder?
sdasd dasdasd
dasdasd
 2.7.2003, 2:21 Uhrdasdsa
hfg hfghfgh
fghfgh
 4.7.2003, 20:28 Uhrfghfgh
Sascha Heldt
Paderborn
 11.9.2003, 18:53 Uhr?
tzutruz rtzurtuz
tzurtzur
 30.9.2003, 23:16 Uhrtrzuztrurtuzrtz
a b
c
 6.10.2003, 13:08 Uhrauch test
test test
NDS
 29.10.2003, 16:58 Uhrtest
Nina Müller
Schweiz
 20.11.2003, 16:18 Uhrnein
bin laden
haschisch
 25.12.2003, 18:25 Uhrey ey ey
michi susi
lana
 4.1.2004, 16:55 UhrHallo
Birn Bach
Birnbach
 18.1.2004, 15:44 UhrDas ist mal ein Test
dsf sdf
df
 18.1.2004, 17:59 Uhrdf
keinen meinen
gobs nicht
 19.1.2004, 11:25 Uhrneine
ewrwe wer
wer
 11.2.2004, 16:57 Uhrwrwe
testerq tester
musterort
 14.4.2004, 12:14 Uhr 
Franz Willhelm
Entenhausen
 4.5.2004, 1:58 Uhrjo, nett
sweet-plumpers sweet-plumpers
 
 2.9.2004, 16:27 Uhrplumpers sweet
Peter hj
gkj
 3.9.2004, 15:11 Uhrgk
1 2
3
 13.9.2004, 17:00 Uhr5
Nächste Seite

Dies sieht dann wie folgt aus:

<!--#include virtual="/cgilocal/xsign/xsign.pl?sign=demo&view=1" -->

Alternativ kann man natürlich auch via Link auf die Liste gehen: Liste aufrufen

Die Ergebnisse, das heißt die Unterschriften, werden als CSV-Datei gespeichert und können als solche auch in anderen Programmen weiterverarbeitet werden. Hier die Liste, die aus obiger Demo generiert wird: xsign-demoliste.csv.

Installation

Kopieren Sie die Dateien xmas.pl und web.pm in Ihr CGI-BIN-Verzeichnis. Setzen Sie die Ausführungsrechte mittels CHMOD. Z.B.: chmod 755 xmas.pl.
Ändern Sie im Programm xmas.pl folgende Zeilen:

Zeile 1: #!/local/bin/perl5 Geben Sie hier Ihren eigenen Pfad zu Perl ein, falls er von diesem abweicht.
Zeile 27: my $THISURL = "/cgilocal/xsign.pl"; Geben Sie hier die URL zum Skript an, falls Sie dieses in ein anderes Verzeichnis tun oder es umbenennen.
Zeile 29: my @NEEDED_VALS = ("vorname", "nachname", "valid"); Hier können Sie angeben, welche <input name="">-Einträge notwendig sind, damit der Eintrag akzeptiert wird. Mögliche Eingaben sind: vorname, nachname, ort, url, notiz, organisation
Zeile 33: my $MAXLENGTH_NOTIZ = 200;; Wie lange darf das Kommentarfeld maximal sein.
Zeile 35: my $OUTPUT_LINE_LAYOUT = "<TR bgcolor=\"#SWITCHSTRING#\"><TD>#URLREFSTART##VORNAME# #NACHNAME##URLREFEND#<BR><font size=-1>#ORT#</font></TD><TD>#ORGANISATION#</TD><TD><font size=-1>#ZEIT#</font></TD><TD>#NOTIZ#</TD></TR>"; Hier geben Sie an, wie eine Tabellenzeile für die Anzeige einer Unterschrift jeweils aussehen soll. Die Variablen der Form #Name# entsprechen (ohne den #) den Namen, die Sie bei der Eingabemaske definieren.
Zeile 44: my $MAX_DISPLAY_LINES = 50; Wieveile Unterschriften sollen maximal zur selben Zeit dargestellt werden.
Zeile 46: my %INDEX = ("demo", "../../misc/xsign-demoliste.csv"); Hier werden den Dateinamen, in denen die daten als CSV gespeichert werden, Aliase zugewiesen. Die jeweilige Umfrage wird beim Webaufruf nür über einen Alias, hier demo, geleistet. Dadurch wird verhindert, daß jemand versucht, unschöne Dateinamen zu übergeben und Kommandos auf dem System auszuführen.
Sie können somit gleichzeitig mehrere Listen verwalten. Die Syntax ist hier immer: "Aliasnamen" , "Pfad zur Datei", wobei darauf zu achten ist, daß auenrum die runden Klammern erhalten bleiben und die Dateien auch für den Webserver beschreibbar sind.


Info

$Id: xsign.shtml,v 1.2 2003/05/23 17:02:21 xwolf Exp $, Linkcount: 201
© 1996 - 2003 by xwolf - xwolf ist eingetragene Marke beim Deutschen Patent- und Markenamt (Nr. 301 04 380)