trueten.de

"An allem Unfug, der passiert, sind nicht etwa nur die schuld, die ihn tun, sondern auch die, die ihn nicht verhindern." Erich Kästner

Petitionen und Unterschriftensammlungen mit "Petitionsverwaltung"

Für die Sammlung von Unterschriften für die Solidaritätserklärung mit den streikenden Bahnern habe ich das Freeware PHP Script "Petitionsverwaltung" von "Grace-Script" verwendet.

Das Script erlaubt die Sammlung von Unterschriften, die wahlweise sofort oder erst durch den Administrator freigeschaltet werden können und deren Aufbereitung und Ausgabe als HTML oder auch als CSV Datei. Die sehr weitgehende Konfigurierbarkeit und Transparenz des Codes haben mich dazu veranlasst, diesem Script den Vorzug vor phpPetition zu geben.

Stefan Warnat, der Programmierer des Scripts hat sich zudem sehr engagiert um meine Fragen zu notwendigen Anpassungen gekümmert, wofür ich mich bei ihm herzlich bedanken will.

Gegenüber dem Originalcode wurde folgendes geändert:

Statt der im Original zentrierten Ausrichtung des Textes und der Eingabemaske wollte ich eine linksbündige Ausrichtung:

Dazu muss in der Datei cache/felder.html die Anweisung text-align:center; in text-align:left; geändert werden:
.beschreibung { text-align:left; width:300; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px;}
.text { width:200; text-align:left; font-family:Verdana, Arial, Helvetica, sans-serif;}
.titel { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:13px; text-align:left;}


Diese Ausrichtung muss dort auch noch etwas weiter unten im Code eingetragen werden:

<table width='500' border=0 align='left'>

Wenn man schon dabei ist, trägt man noch mehrfach <br /> am Ende der Datei ein, damit der Text nach der Eingabemaske nicht rechts neben dieser ausgegeben wird:

</table></form><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />

In der Datei: entry.php werden alle Anweisungen, insbesondere:
<table border=0 align="center">

auch geändert:

<table border=0 align="left">

Bei mir wurde nach geleisteter Unterschrift der Browser nicht zur Hauptseite zuürck geleitet. Das kann am Server liegen. In "eintragen.php" besteht die Möglichkeit, die Zielseite auch manuell eintzutragen:

Die Angabe <?=$req[back_url] ?> durch die Adresse der Zielseite mit der zu ersetzen. So zum Beispiel:

<meta http-equiv="refresh" content="5; url=http://www.trueten.de">

In dem obigen Beispiel wird nach 5 Sekunden auf meine Hauptseite weitergeleitet.

Die Sortierung der Unterschriften nach alphabetischer Reihenfolge funktioniert auch in MySQL nur, wenn der Server auf den Zeichenssatz latin1_german1_ci eingerichtet ist. Wer die Möglichkeit hat, das selber zu konfigurieren kann das laut MySQL FAQ recht einfach machen, indem er diesen Zeichensatz in /etc/my.conf einträgt:
[mysqld]
[...]
set-variable = default-character-set=german1 # Version 3.23
bzw.
set-variable = default-character-set=latin1_de # Version 4

Nachträgliche Codierungen können jedoch auch zu Problemen wie zerhackten Sonderzeichen in Tabellen führen, die man nicht ändern möchte. Mit phpMyadmin kann man das aber auch für einzelne Tabellen einrichten. Funktioniert problemlos.