[Solved] Formtools

Begonnen von Oscar175, 17 April 2009, 21:35:13

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Oscar175

Hallo Leute, ich steige bei Formtools nicht durch  :puzzled:
Könnte mir jemand erklären, wie ich ein Formular bei Formtools einrichte?

Ich komme mit Schritt 2 nicht klar, da kommt:

1. In your submission page (it must be PHP) include the following files:
require("/srv/www/htdocs/web305/html/formtools/global/library.php");
require("/srv/www/htdocs/web305/html/formtools/process_code.php");


2. In your form submission, include the following values. They may be set directly via PHP or passed along through the form itself. Below are examples of each. The $submission_hash is a hash (or associative array) of all form submission information - this is usually the $_POST or $_SESSION variable, but it may be custom built.
Formular:

<input type="hidden" name="form_tools_initialize_form" value="1" />
<input type="hidden" name="form_tools_form_id" value="7" />

PHP:
$submission_hash['form_tools_initialize_form'] = 1;
$submission_hash['form_tools_form_id'] = 7;


3. Submit the form information using the following function. Note that process_form returns the new submission ID. You will use this value to finalize the submission whenever you need.
$submission_id = process_form($hash);

4. Finally, whenever you need to finalize the submission, just call the following function:
ft_finalize_submission($form_id, $submission_id);



Könnte mir diesen Teil jemand erklären? :red:
LG Benjamin

Baldyman

Servus Oscar175,

ich bin auch erst letztens auf dieses Tool gekommen.
Ist echt eine geniale Sache und eigentlich ganz einfach.
Hab mir damit auch ein Modul gebaut. Ich beschreib es mal gleich so, wie man dann ein Modul draus macht.
Kannst mal HIER anschauen.
Ist nur eine Testseite.
Ich bin so vorgegangen.

Erstelle Dir ein Formular nach Deinem Wünschen, z.B.


<form name="form1" method="post" action="">
    <table border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td>Name:</td>
<td><input name="name" type="text" id="name" maxlength="60"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="buttonsenden" id="buttonsenden" value="Senden" /></td>
</tr>
</table>
</form>



Speichern die Datei als index.php . Erstelle im /modules Ordner einen neuen Ordner,
wie das Modul heißen soll, z.B. Formular.

Lade die index.php in diesen Ordner hoch.

Nun gehst Du in die Adminoberfläche von Formtools und fügst ein neues Formular hinzu.

Als Formular URL gibst Du den Pfad zu Deinem Formular an, also bei diesem Beispiel http://www.deineseite.de/modules/Formular/index.php . Klick dahinter auf Verifizierung des URL, dann sollte Dein Formular angezeigt werden.

Bei Weiterschaltung der Internetadresse gibst Du an, welche Seite angezeigt werden soll, wenn das Formular abgeschickt wurde. Ich hab es so gelöst. Mach im Inhaltsmanager eine neue Seite und schreib rein "Danke für Ihre blablabla ... Ihre Anfrage wurde gesendet". Den Pfad zu der Seite trägst Du hier dann ein.
Hier mal ein Screen zum leichter verstehen.



So, dann geht´s auf der nächsten Seite weiter.

Jetzt öffnest Du Dein Formular (index.php) in Deinem Editor,
und änderst/ergänzt dann die Zeilen.



Sollte dann so aussehen:


<form name="form1" method="post" action="http://www.DeineSeite.de/Formtool/process.php">
<input type="hidden" name="form_tools_initialize_form" value="1" />
<input type="hidden" name="form_tools_form_id" value="5" />
<table border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td>Name:</td>
<td><input name="name" type="text" id="name" maxlength="60"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="buttonsenden" id="buttonsenden" value="Senden" /></td>
</tr>
</table>
</form>



Dann speichern, und wieder hochladen.

Jetzt rufst Du das Formular in Deinem Browser auf, also http://www.deineseite.de/modules/testform/index.php
und füllst es aus. Wenn Du das gemacht hast, Formular abschicken. Wenn´s geklappt hat, bekommst Du eine Meldung.

Danach klickst Du wieder in der Formtool Adminoberfläche auf den Button
und dann weiter auf den nächsten Schritt.

Hier kannst Du jetzt noch für die Datenbank die Feldgröße etc. noch einstellen. Probier einfach mal rum.

Dann weiter zum nächsten Schritt. Hier kannst Du dann noch die Ansichtsnamen vergeben. Klick einfach auf Small Fill das genügt meistens.

Dann auf den Button Aktualisieren klicken und dann auf nächster Schritt.

Jetzt öffnest Du wieder Dein Formular, und löschst NUR DIE EINE angezeigte Zeile heraus.



Sollte dann so aussehen:


<form name="form1" method="post" action="http://www.DeineSeite.de/Formtool/process.php">
<input type="hidden" name="form_tools_form_id" value="5" />
<table border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td>Name:</td>
<td><input name="name" type="text" id="name" maxlength="60"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="buttonsenden" id="buttonsenden" value="Senden" /></td>
</tr>
</table>
</form>



Damit ist erstmal das Formular startklar, aber jetzt machen wir daraus noch ein gescheites Modul  :BD:

Öffne ein neues Dokument im Editor, und füge erstmal folgendes ein.


<?php
 
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

// get the modul name
$module_name basename(dirname(__FILE__));

// right blocks on = 1, off = 0
$index 1;

include(
"header.php");
OpenTable();
?>



Hier kommt das ganze Formularzeugs rein !!!



<?php
CloseTable
();

include(
"footer.php");

?>




Jetzt kopierst Du das Formular an die angegebene Stelle ein.
Also sollte dann so aussehen:


<?php
 
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

// get the modul name
$module_name basename(dirname(__FILE__));

// right blocks on = 1, off = 0
$index 1;

include(
"header.php");
OpenTable();
?>



<form name="form1" method="post" action="http://www.DeineSeite.de/Formtool/process.php">
<input type="hidden" name="form_tools_form_id" value="5" />
<table border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td>Name:</td>
<td><input name="name" type="text" id="name" maxlength="60"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="buttonsenden" id="buttonsenden" value="Senden" /></td>
</tr>
</table>
</form>



<?php
CloseTable
();

include(
"footer.php");

?>



So, Datei als index.php speichern und die in den erstellten Modulordner hochschieben.
Die existierende Datei überschreiben.

Modul im Adminmenü aktivieren ---> FERTIG  :BD:


Ich hoffe es hilft Dir weiter.
Bei mir hat es so astrein funtioniert.

VIEL ERFOLG !!!!

Oscar175

Hallo Baldyman,
vielen Dank für deine Mühe, hat bestens funktioniert  :thumbup:
Hätte nicht gedacht, dass es so einfach ist :red:

Wäre doch super, wenn deine Anleitung ins Wiki übernommen wird.

Nochmals vielen Dank!
LG Benjamin  ;)

Baldyman

Grüzi Benjamin ,

jederzeit wieder  :drinks:

Zitat von: Oscar175 am 19 April 2009, 01:16:29
... Wäre doch super, wenn deine Anleitung ins Wiki übernommen wird ...

Also für die (zu denen zähle ich mich auch  :BD:) die es nicht hinbekommen,
das Feedbackmodul so umzubasteln und zu erweitern, wie man es braucht, ist das wirklich eine gute und einfache Alternative.
Vielleicht schafft es ja den Sprung ins Wiki  :pardon:

Baldyman

Sorry, konnte nicht mehr editieren.

Eines ist mir gerade selber noch aufgefallen.
Verwendet man im Formular Umlaute, z.B. Frühstück,
dann kommt bei der versendeten Mail Fr?hst?ck an.

Vielleicht klinkt sich ja noch jemand ein, der dieses (hoffe kleines) Problem zu lösen weis.
Dann wär´s perfekt.

Baldyman

So, dieses Problem ist auch gelöst ... muss nur hartnäckig bleiben  :BD:

Einfach im Formtag accept-charset="UTF-8" hinzufügen.
Also sollte dann so aussehen.


<?php
 
if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

// get the modul name
$module_name basename(dirname(__FILE__));

// right blocks on = 1, off = 0
$index 1;

include(
"header.php");
OpenTable();
?>



<form name="form1" method="post" action="http://www.DeineSeite.de/Formtool/process.php" accept-charset="UTF-8">
<input type="hidden" name="form_tools_form_id" value="5" />
<table border="0" cellspacing="0" cellpadding="10" align="center">
<tr>
<td>Name:</td>
<td><input name="name" type="text" id="name" maxlength="60"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="buttonsenden" id="buttonsenden" value="Senden" /></td>
</tr>
</table>
</form>



<?php
CloseTable
();

include(
"footer.php");

?>


comedi

@ Baldymann

:thumbup:  Super Erklärung  :drinks:
LG Michael


Kein Support über PN, Mail oder ICQ!

CMS-Version: pragmaMx 1.12.3 --- PHP-Version: 5.3.5
MySQL-Version: 5.1.63 --- Server-Version: Apache 2.2.4

Wer den Weg zum Ziel kennt - dann aber Umwege nimmt - muss sich nicht wundern wenn er sein Ziel nicht findet!


Gemeinschaftseite: www.pragmamx-erweiterungen.de

goodssale

hallo Baldyman,

ich glaube ich habe es hinbekommen.
danke noch mal für die gute beschreibung.

eine frage hätte ich noch, kennst du dich in form tools ein wenig aus??

ich komme einfach nicht klar mit den einstellungen bei e-mails,
was muss ich einstellen, das ich eine mail erhalte sobald ein formular
versendet wurde.

bin langsam am verzweifeln :red:

grüße heinz
Grüße Heinz

Baldyman

Moin Heinz,

schön das es funzt.
Das mit den Mail Einstellungen schau ich mir gleich heute Abend an.
Kann leider erst da in Ruhe schauen  :red:

goodssale

hallo Baldyman,

ich bin es noch mal, habe jetzt hinbekommen.

es lag daran das ich dem kunden keine e-mail zugewiesen habe.

oh mann, manchmal sieht man den wald vor lauter bäumen nicht.

grüße heinz
Grüße Heinz