ZAP Formular Prozessor - Newsletter

Bei dieser Seite handelt es sich um die Cookbook-Übersetzung ZAP

Downloads auf der englischen Originalseite: http://pmwiki.org/wiki/Cookbook/ZAP

ZAP's Documentation und Support Website

Weiterführende Informationen, Demos und Unterstützung zu ZAP:
http://zapdoc.web-farm.org

Was dieses Kochbuch-Rezept kann?

Ein ZAP-Skript unter PmWiki wird mittels (:zapform:) und (:zapend:) im Markup-Format in spezieller Art und Weise von Standard-Eingabefeldern eingeteilt. Text, Textbereich, Auswählen, Button, Checkbox usw. Im Jahr 2007 wurde ein optionales Zap Eingabefeld hinzugefügt, welches eine sicherere Datenübertragung gewährleistet. ZAP und ZAPtoolbox bietet auch ein paar zusätzliche Markups, Markup Ausdrücke, Variablen, Bedingungen usw. ZAP speichert Daten unsichtbar auf Wiki-Seiten (sichtbar, wenn Sie bearbeiten), und macht es abrufbar als Standard PmWiki Text-Variablen für die einfache Nutzung und der Suche in Seitenlisten.

Um zu installieren, laden Sie einfach Zap und falls gewünscht die Zap-Toolbox herunter, und aktivieren sie bei Bedarf in der lokalen config.-Datei. Für die Dokumentation, laden Sie die zapdocs.zip-Datei, speichern diese in wiki.d und wählen Sie Support.HomePage. Bitte richten Sie alle Fragen und Kommentare an die PmWiki-Mailingliste.

KAL?: Ich habe eine Datei zapdocsnew.zip, wo die Gruppen der ZAP-Seiten zu verändern ZAP * (dh einen Suffix ZAP für alle Gruppennamen) und die Referenzen sind (hoffentlich alle) geändert. Siehe auch PmWiki maillist, Mails an ZAP-Unterstützung im August 2007.

Beispiele ZAP Formate

Um ein sehr einfaches ZAP-Format herzustellen, muss man nur Sandwich-mässig Textfelder, Passwort-Boxen, Radio-Buttons und Checkboxen zwischen (:zapform:) und (:zapend:) Markups einsetzen. Damit wird der Prozess in Gang gesetzt und je nach Feldnamen und Werte, verschiedene Aktionen ausgelöst. Hier ist ein Beispiel, wie Sie ein einfaches Formular herstellen können, das Daten speichert:

(:Nachrichten:)
(:zapform:)
(:Text "Feld1":)
(:Text "Feld2":)
(:Eingang versteckt savedata "Feld1, Feld2":)
(:Eingang legt Wert = "Zap es!":)
(:zapend:)

Wenn Sie die Daten sehen möchten, müssen Sie die Daten-Seite nur bearbeiten. Sie werden sie als Text-Variablen in Standard-Format versteckt, finden. Um die Daten abzurufen verwenden Sie die normale Syntax. Unter Verwendung des obigen Beispiels, brauchen Sie nur die folgenden Zeilen irgendwo auf der gleichen Seite zu schreiben:

Feld 1: ($: Feld1)
Feld 2: ($: Feld2)

Auf einer anderen Seite können Sie {Gruppe.Name$:Feld} eingeben, um die Werte dort zu erhalten. Um ein Formularfeld zu aktualisieren, füllen Sie es einfach mit den vorhandenen Daten und speichern es erneut mit den Änderungen. Felder, die nicht gelistet sind werden nicht geändert. Hier ein Beispiel für die Kombination der zwei vorangegangenen Beispiele:

(:Nachrichten:)
(:zapdata:)
(:zapform:)
(:Text "Feld1" ($: Feld1):)
(:Text "Feld2" ($: Feld2):)
(:Eingang versteckt savedata "Feld1, Feld2":)
(:Eingang legt Wert = "Zap es!":)
(:zapend:)
Daten:
Feld 1: ($: Feld1)
Feld 2: ($: Feld2)

ZAP Merkmale

Der ZAP-Formular Prozessor hat viele eingebaute Funktionen und ist leicht zu erweitern. Durch die fantastische Flexibilität von PmWiki wird es letztlich allen Ansprüchen an ein Formular gerecht - darunter sind auch einige recht komplexe und leistungsfähige Anwendungen. Hier ist eine unvollständige Liste der Möglichkeiten, die ZAP-Formulare bieten - hauptsächlich aus der ZAPtoolbox. Weitere Informationen und Code-Snippets, ZAP bei der Arbeit finden Sie in der herunterladbaren Dokumentation.

  • Neue Mitglieder Registrierung
  • Mitglieder-Login
  • Group Management
  • Form Validation (Pattern Matching)
  • Passwort schützen Formulare
  • Felder ersetzen
  • Forward-Browser zu einer Seite
  • Speichern Sie Daten auf einer beliebigen Seite
  • Hole Full URL's für die Seiten
  • Random Number Generator und Captcha
  • Time & Time Formatieren
  • Nachrichten System
  • Daten über Sie - Variablen
  • Daten speichern / Daten löschen
  • Ausblenden Daten aus Text-Variablen
  • Erweiterte Liste Management
  • Suchen und Ersetzen
  • Erstellen Sie Seiten (Vorlagen von Formulardaten)
  • Löschen von Seiten
  • Upload von Dateien in einer ZAP-Formular
  • E-Mail an Adressen, die Mitglieder oder Newslisten
  • Warenkorb & Bestellung Formulare
  • Zahlungsverkehr über PayPal
  • Post-Vorlage bedingte Verarbeitung
  • Basic Math und PHP
  • Unmittelbare Benachrichtigung
  • Individuelle Einstufung Quiz und sogar Kurse
  • Viele neue ZAP Markups und individuelle Bedingungen
  • Edit-Seiten oder Teile der Seiten
  • Seiten Einfügungen
  • Leistungsstarke Protokollierung (sortieren, richtig stellen, etc.)

Und wahrscheinlich noch mehr!

ZAP Sicherheit

Das Kombinieren der Formular-Eingaben mit der Art von Macht in ZAP fordert strenge Sicherheitsmaßnahmen. Zusätzlich zu den automatisch deaktivierenden PmWiki Richtlinien und anderen bösartigen PHP-Code in Formular-Stellungnahmen, hat ZAP mehrere Maßnahmen im Bereich der Sicherheit eingebaut - eingeschlossen hartnäckig vergessenen Kopf-Schutz und die innere Sicherheit System Toolbox Steuerung aller Befehle. ZAP ermöglicht wie üblich Rechte innerhalb PmWiki, die Formulare können auf bestimmte Benutzer, Gruppen oder Passwörter, und sogar unterschiedliche Zugriffsrechte auf die verschiedenen Gruppen und / oder Seiten verteilt werden.

Derzeit gibt es keine bekannten Sicherheitslücken. Jedoch ist darauf hinzuweisen, dass keine Software absolut sicher ist. Siehe die ZAP-Support-Website für eine vollständige Diskussion der ZAP Sicherheitsmerkmale.

Helfer

  • Caveman? Klicken Sie hier, um mehr zu erfahren über die Geschichte hinter diesem Rezept ...
  • Viele andere, die unzählige Ideen vorgeschlagen haben.

Kommentare

I would like to use the Zap forms to send an email however I would like to dynamically create the email subject based on the data entered in the form - would something like this be possible? Karl - 7-1-2008


Hi, Karl. Yes, you can use any value entered in the form as a variable within (:zap:) tags by enclosing its name in {braces}, so for instance if you have a field named Subject, you could construct a custom subject line with

(:zap emailsubject="Mail from my Zap form: {Subject}":)

Hope that helps. Ben Stallings? July 02, 2008, at 11:27 AM


Ben, Thanks for your response. Unfortunately, the change did not produce the desired results. The syntax, I used was:

(:zapform:)
(:zap email="test@abc.com":)
(:zap emailsubject="{Name1} {Name2} - Email Subject":)
(:zap emailfrom="test@abc.net":)
(:input text Name1:)
(:input text Name2:)
(:zap emailtemplate="Main.TestTemplate":)
(:input submit value="Submit":)
(:zapend:)

The resulting email subject was: {Name1} {Name2} - Email Subject


I updated zap to work with $SiteAdminGroup Variable rater than $SiteGroup. This is an important security fix, cause Zap don't allow to write in this group. Since I'm not a programmer someone with thous skills blease verify the changes. Attach:zap_2007-12-04.php Δ

 if ((($vv[0] == $SiteAdminGroup) || ($vv[0] == "Site")) && ($EnableZAPsiteEdits != true))
 ZAPabort('site', "Group $SiteAdminGroup is blocked on this system. ");
  • to:
 if ((($vv[0] == $SiteAdminGroup) || ($vv[0] == "SiteAdmin")) && ($EnableZAPsiteEdits != true))
 ZAPabort('site', "Group $SiteAdminGroup is blocked on this system. ");

I did not check your work but this is an important upgrade. Thanks! Caveman?


Please help! Running zap+zaptoolsbox I obtain:

Fatal error: Call to undefined function: pagetextvar() in /home/httpd/vhosts/poincare.org/subdomains/chronos/httpdocs/cookbook/zap.php on line 326

You must upgrade to PmWiki 2.2, as ZAP requires its PTV capabilities. Caveman?


Please Help me, too.

I'm running a ZAP as a newsletter system on a webside to protest against water privatisation. Thus, it's not a wiki, I handle it with a login section. If you're not logged in, the newsletter gives back an error. How can I make this work for not logged-in users? I would be in debt to everyone who'll treat this as a matter of urgent. Sitelink -- Chris?


Greetings,

I seem to be having an issue I just can't figure out. I installed the cookbook recipe ZAP (as well as the Tool box) to send a "mailing list" type form to an e-mail address. Initially, I adapted the example listed above by using the following markup:

!Join our mailing list!

(:messages:)
(:zapform:)
(:zap email="info@example.com":)
(:zap emailfrom="info@example.com":)
(:zap emailsubject="Website Feedback Form":)

||First Name: ||(:input text emailbody:)
||Last Name: ||(:input text emailbody:)
||Email: ||(:input text emailbody size=30:)
||Comments: ||(:input textarea emailbody cols=30 rows=4:)
|| ||(:input submit value="Submit":)
(:zap nextpage="Main.Thanks":)
(:zapend:)

The result does indeed send an e-mail, but it only contains the final form field (in this case only what is entered in the comments field). The first and last names and (most importantly) the e-mail field are not sent at all. I tried a number of combinations thinking that possibly only one instance of "emailbody" was required with the same results: ...

||First Name: ||(:input text firstname:)
||Last Name: ||(:input text lastname:)
||Comments: ||(:input textarea emailbody cols=30 rows=4:)

...

I am running pmwiki-2.2.0. Any thoughts on what might be causing this? Your help would be most appreciated.

Thanks in advance, -Matt?



Originalseite auf PmWikiDe.ZAP - Rückverweise
Zuletzt geändert:
PmWikiDe.ZAP am 10.09.2011

Zuletzt geändert am 10.09.2011 17:41 Uhr