Benutzeravatar
RexDude
Beiträge: 2501
Registriert: 22. Apr 2010, 11:24

Re: XForm Formular direkt per PHP bauen :)

25. Feb 2014, 15:24

he he, bittschön :D So hat man finde ich viel mehr Möglichkeiten. Die wenigsten Redakteuere fummeln ausserdem im Formbuilder herum.

Benutzeravatar
webghost
Beiträge: 266
Registriert: 6. Okt 2010, 20:10
Kontaktdaten: Website

Re: XForm Formular direkt per PHP bauen :)

25. Feb 2014, 15:42

ja genau... ich machte bisher immer alles selber ohne xForm sobald es etwas anspruchsvoller wurde. Ich denke ein normales Formular mit einer Mailfunktion hab ich so auch noch schneller geschrieben als in der xForm-Sprache, konnte mich damit nie anfreunden...

Benutzeravatar
Larsen
Beiträge: 34
Registriert: 3. Nov 2009, 22:39

Re: XForm Formular direkt per PHP bauen :)

20. Jun 2014, 14:42

Hi,

bitte, könnte mir jemand erklären, wie ich die Daten am Ende in eine Tabelle schreibe?
Sprich das php-Pendant zu "Bei Submit: Nur in Datenbank speichern..." aus dem xform-Modul.

Ich vermute es ist etwas wie

Code: Alles auswählen

$xform->setObjectparams('main_table', 'rex_meinetabelle');
aber bisher kein Erfolg damit.

Ach ja, und den Debug Modus würde ich dann auch gern verwenden können. Habe jetzt

Code: Alles auswählen

$xform->setDebug(TRUE);
drin, aber keine Ausgabe...

Ciao, Lars

Benutzeravatar
RexDude
Beiträge: 2501
Registriert: 22. Apr 2010, 11:24

Re: XForm Formular direkt per PHP bauen :)

20. Jun 2014, 14:49

Setzt doch einfach ein INSERT INTO ab. Ganz einfach.

Benutzeravatar
Larsen
Beiträge: 34
Registriert: 3. Nov 2009, 22:39

Re: XForm Formular direkt per PHP bauen :)

20. Jun 2014, 14:52

also ganz ohne xform code...

Benutzeravatar
RexDude
Beiträge: 2501
Registriert: 22. Apr 2010, 11:24

Re: XForm Formular direkt per PHP bauen :)

21. Jun 2014, 01:21

yup. deshalb hab ich mir das ganze auch zurechtgebaut um eben hier mehr direkten einfluss zu haben wie ich was wo speichere. und die ganzen werte stehen ja in $formData[].

Benutzeravatar
Larsen
Beiträge: 34
Registriert: 3. Nov 2009, 22:39

Re: XForm Formular direkt per PHP bauen :)

21. Jun 2014, 09:18

Cool. Danke!

Benutzeravatar
alexplus
Beiträge: 204
Registriert: 13. Feb 2007, 15:03
Wohnort: Heilbronn
Kontaktdaten: Website

Re: XForm Formular direkt per PHP bauen :)

29. Jul 2014, 22:25

Hi!

Gibt's eigentlich hier eine Möglichkeit, den Standardwert / Rückgabewert für die Checkbox festzulegen? Sowas wie:

Code: Alles auswählen

$xform->setValueField('checkbox', array('agb', 'Ich habe die AGB gelesen', 'nein,ja'));
Im Moment bekomme ich ja nur 0/1 als Antwort raus.

Benutzeravatar
RexDude
Beiträge: 2501
Registriert: 22. Apr 2010, 11:24

Re: XForm Formular direkt per PHP bauen :)

29. Jul 2014, 23:05

Kannst du nicht einfach per If-Abfrage dir hier was mit dem Rückgabewert zusammenbauen. Bei der PHP XForm Variante ist das ja gerade der Vorteil nochmal was zu machen mit den Rückgabewerten ehe man sie in ne Email packt.

Benutzeravatar
alexplus
Beiträge: 204
Registriert: 13. Feb 2007, 15:03
Wohnort: Heilbronn
Kontaktdaten: Website

Re: XForm Formular direkt per PHP bauen :)

30. Jul 2014, 00:55

RexDude hat geschrieben:Kannst du nicht einfach per If-Abfrage dir hier was mit dem Rückgabewert zusammenbauen.
Doch, kann ich. Aber bevor ich das mache, frage ich lieber nach ;) Zumal das meiste zu XForm + PHP ja hier dokumentiert ist.

Bei einer Auswahlliste ist es ja bspw. möglich, "value" und "Beschreibung" anzugeben, weil es ja auch für die Ausgabe benötigt wird.

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: XForm Formular direkt per PHP bauen :)

6. Okt 2014, 18:31

hallo,

mich würde noch interessieren wie ich das xform template ansprechen kann - ich habs mit

Code: Alles auswählen

$xform->setActionField('db2email', array('contact','', 'email@domain.at'));
probiert aber es kommt kein email an

und der debug modus wär wirklich noch super

Code: Alles auswählen

$xform->setDebug(true);
geht leider nicht

Benutzeravatar
RexDude
Beiträge: 2501
Registriert: 22. Apr 2010, 11:24

Re: XForm Formular direkt per PHP bauen :)

6. Okt 2014, 18:47

Hi,

Templates habe ich noch nie wirklich benutzt. Mache dass direkt per PHP um so auch die volle Kontrolle zu haben. Ist aber in dem Modul mit drin als Beispiel.

Und wegen Debugmodus müsstest du vielleicht mal schauen wie das das Formbuilder Modul macht. Ich meine da gabs auch einen Debug Modus den man einschalten konnte. Kann mich aber auch irren.

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: XForm Formular direkt per PHP bauen :)

6. Okt 2014, 19:52

danke im formbuilder steht das mit dem debug genauso drinnen - aber geht eben leider nicht.
ich hab das jetzt ohne template gemacht

für alle dies brauchen können - danke an rexdude

Code: Alles auswählen

<?php


$xform = new rex_xform();

//$xform->setDebug(TRUE);

// value vields

$xform->setValueField('html', array('name', 'Ich interessiere mich für<div class="clear">&nbsp;</div>'));
$xform->setValueField('checkbox', array('buch', 'Buch', 'nein,ja'));
$xform->setValueField('checkbox', array('tv', 'TV', 'nein,ja'));
$xform->setValueField('html', array('name', '<div class="clear">&nbsp;</div>'));
$xform->setValueField('text', array('anrede', 'Anrede *'));
$xform->setValueField('text', array('vorname', 'Vorname *'));
$xform->setValueField('text', array('nachname', 'Nachname *'));
$xform->setValueField('text', array('strasse', 'Straße / Nr.'));
$xform->setValueField('text', array('plz', 'PLZ / Ort'));
$xform->setValueField('text', array('email', 'E-Mail *'));
$xform->setValueField('captcha', array('Bitte tragen sie den Text ein', 'Bitte prüfen das Text Eingabe Feld'));
$xform->setValueField('submit', array('Senden', 'Abschicken'));


// validate fields
$xform->setValidateField('empty', array('email', 'Bitte tragen Sie Ihre E-Mail Adresse ein'));
$xform->setValidateField('email', array('email', 'Bitte überprüfen Sie Ihre E-Mail Eingabe'));
$xform->setValidateField('empty', array('anrede', 'Bitte tragen Sie Ihre Anrede ein'));
$xform->setValidateField('empty', array('vorname', 'Bitte tragen Sie Ihren Vornamen ein'));
$xform->setValidateField('empty', array('nachname', 'Bitte tragen Sie Ihren Nachnamen ein'));


// other stuff
$xform->setRedaxoVars($REX['ARTICLE_ID'], $REX['CUR_CLANG']); 


if (($form = $xform->getForm()) == '') {
	// form submitted
	$formData = $xform->objparams['value_pool']['email'];


	$mailFrom = $formData['email'];
	$mailSubject = 'Anfrage - www.domain.at';

	// mail body	
	$mailBody = '';
	$mailBody .= 'Ich interessiere mich für:' . PHP_EOL;
	$mailBody .= 'Buch: ' . $formData['buch'] . PHP_EOL;
	$mailBody .= 'TV: ' . $formData['tv'] . PHP_EOL . PHP_EOL;
	$mailBody .= 'Anrede: ' . $formData['anrede'] . PHP_EOL;
	$mailBody .= 'Vorname: ' . $formData['vorname'] . PHP_EOL;
	$mailBody .= 'Nachname: ' . $formData['nachname'] . PHP_EOL;
	$mailBody .= 'Straße / Nr: ' . $formData['strasse'] . PHP_EOL;
	$mailBody .= 'PLZ / Ort: ' . $formData['plz'] . PHP_EOL;
	$mailBody .= 'E-Mail: ' . $formData['email'] . PHP_EOL;

	// init mailer
	$mail = new rex_mailer();

	if ($formData['buch'] == 'ja') {$mail->AddAddress('buch@domain.de', 'buch@domain.de');}
	if ($formData['tv'] == 'ja') {$mail->AddAddress('tv@domain.de', 'tv@domain.de');}
	$mail->WordWrap = 80;
	$mail->FromName = $mailFrom;
	$mail->From = $mailFrom;
	$mail->Sender = $mailFrom;
	$mail->Subject = $mailSubject;
	$mail->Body = nl2br($mailBody);
	$mail->AltBody = strip_tags($mailBody);


	// send mail
	if ($mail->Send()) {
		echo '<p>Vielen Dank für Ihr Interesse an Projekt!<br>
Wir bemühen uns, Ihre Anfrage schnellstmöglich zu bearbeiten.</p>';
	} else {
		echo '<p>FEHLER - Bitte versuchen Sie es noch einmal.</p>';
	}

} else {
	// show form
	echo $form;
}




?>


summselbrumm!media
Beiträge: 44
Registriert: 6. Jan 2011, 14:39

Re: XForm Formular direkt per PHP bauen :)

10. Mai 2015, 11:50

Mit

Code: Alles auswählen

$xform->setValueField('text', array('name', 'Name'));
bekomme ich

Code: Alles auswählen

<p class="formtext formlabel-name" id="xform-formular-name">
    <label class="text  " for="xform-formular-field-1" >Name</label>
    <input type="text" class="text   " name="FORM[formular][1]" id="xform-formular-field-1" value="" />
</p>
Das Text-Input bekommt also nicht die das erforderliche name="name". So kann ich die Werte nicht in die DB schreiben ;((

Anders bei einem hidden input, dort funktionierts.

An was liegt das?

Git es irgendwo eine klare, explizite Übersicht über die direkten php-Anweisungen für XForm? ich hab auch nach seeeehr langem Suchen nirgends etwas gefunden....


Mit Dank für Hinweise!

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5126
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: XForm Formular direkt per PHP bauen :)

11. Mai 2015, 09:40

Hej,

> Das Text-Input bekommt also nicht die das erforderliche name="name". So kann ich die Werte nicht in die DB schreiben

die Werte schreibt XForm in die Datenbank. Da brauchst du nix zu machen.

Das was du aber haben willst, heißt

Code: Alles auswählen

objparmas|real_field_names|true
oder

Code: Alles auswählen

$xform->setObjectparams('real_field_names',true);
vg Thomas

Zurück zu „AddOns [R4]“

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 3 Gäste