Hi there,
I need your help, please!
I have a custom code for writing into another database, but it doesn't work and there is no error message or something like that. I also didn't see some information if I insert the Debugger.
Here is my code for the Custom Code element:
Can you please help me somehow?
Regards
Steffen
I need your help, please!
I have a custom code for writing into another database, but it doesn't work and there is no error message or something like that. I also didn't see some information if I insert the Debugger.
Here is my code for the Custom Code element:
<?php
/* Datenbankserver - In der Regel die IP */
$db_server = 'localhost';
/* Datenbankname */
$db_name = 'dbname';
/* Datenbankuser */
$db_user = 'dbuser';
/* Datenbankpasswort */
$db_passwort = 'dbpass';
/* Erstellt Connect zu Datenbank her */
$db = @mysql_connect($db_server, $db_user, $db_passwort)
or die ('Konnte keine Verbindung zur Datenbank herstellen');
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
// Variablen aus Formular abholen
$veranstaltung = $form->data['ver'];
$anreise = $form->data['anreise'];
$abreise = $form->data['abreise'];
$verantwortlich = $form->data['hostmail'];
$name = $form->data['name'];
$jname = $form->data['joomla_name'];
$geburtsdatum = $form->data['geburtsdatum'];
$adresse = $form->data['adresse'];
$plz = $form->data['plz'];
$ort = $form->data['ort'];
$telefon = $form->data['telefon'];
$handy = $form->data['handy'];
$mail = $form->data['email'];
$taetigkeit = $form->data['taetigkeit'];
$stufe = $form->data['stufe'];
$stamm = $form->data['stamm'];
$vegetarier = $form->data['vegetarier'];
$allergien = $form->data['allergien'];
$kinderbetreuung = $form->data['kinderbetreuung'];
$weitere-leiter = $form->data['participant_database'];
$kommentar = $form->data['kommentar'];
$anzahlwoelflinge = $form->data['anzahlwoelflinge'];
$anzahljupfis = $form->data['anzahljupfis'];
$anzahlpfadis = $form->data['anzahlpfadis'];
$anzahlrover = $form->data['anzahlrover'];
$anzahlleiter = $form->data['anzahlleiter'];
$anzahlgesamt = $form->data['anzahlgesamt'];
// Vorname und Nachname trennen
$vollername = explode(" ",$name);
$vorname = $vollername[0];
$nachname = $vollername[1];
// Anreise und Abreise in Start und Ende trennen
$start = explode(" ",$anreise);
$startdatum = $start[0];
$startzeit = $start[1];
$ende = explode(" ",$abreise);
$enddatum = $ende[0];
$endzeit = $ende[1];
// Werte für Telefonnummer und Handy zusammenfassen
if ($telefon == "" {
$telefonnummer = $handy;
} elseif ($handy == "") {
$telefonnummer = $telefon;
} else {
$telefonnummer = $telefon . " oder " . $handy;
}
// Werte für Tätigkeit und Stufe zusammenfassen
$taetigkeitstufe = $taetigkeit . " " . $stufe;
// Anzahl Tätigkeiten / Stufe (inkl. eigene)
if ($taetigkeit == "Mitglied" && $stufe == "Woelflinge") {
$anzahlwoelflinge++;
} elseif ($taetigkeit == "Mitglied" && $stufe == "Jungpfadfinder") {
$anzahljupfis++;
} elseif ($taetigkeit == "Mitglied" && $stufe == "Pfadfinder") {
$anzahlpfadis++;
} elseif ($taetigkeit == "Mitglied" && $stufe == "Rover") {
$anzahlrover++;
} elseif ($taetigkeit == "Leiter") {
$anzahlleiter++;
} else {
$anzahlsonstige++;
}
// Werte für Allergien, Kommentar, weitere Personen zusammenfassen
$infos = "Tätigkeit / Stufe: " . $taetigkeitstufe "\n";
$infos .= "weitere Anmeldungen: " . $weitere-leiter . "\n";
$infos .= "Allergien: " . $allergien . "\n";
$infos .= "Kommentar: " . $kommentar . "\n";
$infos .= "Joomla-Username: " . $jname;
// Anzahl Vegetarier
if ($vegetarier == "Ja") {
$anzahlvegetarier = 1;
} else {
$anzahlvegetarier = 0;
}
// Kinderbetreuung in Kleinbuchstaben
if ($kinderbetreuung == 1) {
$kinderbetreuung = "ja";
} else {
$kinderbetreuung = "nein";
}
// UpdateKey generieren
$updatekey = uniqid();
$SQL_string = "INSERT INTO ver_Veranstaltungen
(Veranstaltung, Start, Ende, Vorname, Nachname, Geburtsdatum, Strasse,
Postleitzahl, Ort, eMail, Telefon, Taetigkeit_Stufe, Stamm_Bezirk,
Anzahl_Woelflinge, Anzahl_Jupfis, Anzahl_Pfadis, Anzahl_Rover,
Anzahl_Leiter, Namen_Leiter, Anzahl_Sonstige, Anzahl_Vegetarier, Anreise_Tag,
Anreise_Zeit, Abreise_Tag, Abreise_Zeit, Kinderbetreuung, Verantwortlich,
updatekey)
VALUES
('$veranstaltung', '$startdatum', '$enddatum', '$vorname', '$nachname', '$geburtsdatum',
'$adresse', '$plz', '$ort', '$mail', '$telefonnummer', '$taetigkeitstufe',
'$stamm', '$anzahlwoelflinge', '$anzahljupfis', '$anzahlpfadis',
'$anzahlrover', '$anzahlleiter', '$infos', '$anzahlsonstige', '$anzahlvegetarier',
'$startdatum', '$startzeit', '$enddatum', '$endzeit', '$kinderbetreuung', '$verantwortlich',
'$updatekey')";
?>Can you please help me somehow?
Regards
Steffen
Hi sbischoff,
Is this CFv4? If so, please try using the ChronoForms DB Save action and add the remote DB settings on the Advanced tab.
Bob
Is this CFv4? If so, please try using the ChronoForms DB Save action and add the remote DB settings on the Advanced tab.
Bob
Hi Bob!
Thank you for the quick answer!
Yes, it´s CFv4.
Can I do some transformation stuff there? For example - as you can see in my script - I have to explode firstname and lastname or change phone number and so on.
Another "problem" is, that the field names doesn't match the field names in the database. Can I somehow "transform" or map fields to a table row?
Thanks and Regards
Steffen
Thank you for the quick answer!
Is this CFv4?
Yes, it´s CFv4.
If so, please try using the ChronoForms DB Save action and add the remote DB settings on the Advanced tab.
Can I do some transformation stuff there? For example - as you can see in my script - I have to explode firstname and lastname or change phone number and so on.
// Vorname und Nachname trennen
$vollername = explode(" ",$name);
$vorname = $vollername[0];
$nachname = $vollername[1];
// Anreise und Abreise in Start und Ende trennen
$start = explode(" ",$anreise);
$startdatum = $start[0];
$startzeit = $start[1];
$ende = explode(" ",$abreise);
$enddatum = $ende[0];
$endzeit = $ende[1];
// Werte für Telefonnummer und Handy zusammenfassen
if ($telefon == "" {
$telefonnummer = $handy;
} elseif ($handy == "") {
$telefonnummer = $telefon;
} else {
$telefonnummer = $telefon . " oder " . $handy;
}Another "problem" is, that the field names doesn't match the field names in the database. Can I somehow "transform" or map fields to a table row?
Thanks and Regards
Steffen
Hi sbischoff,
Sure, you can do any data manipulation you need with PHP in a Custom Code action before the DB Save action. You need to make sure that at the end you have entries in the $form->data array that match the column names that you want to save e.g.
If you use a Model ID you can set up the data in a sub-array (that sometimes helps in complex cases):
Bob
Sure, you can do any data manipulation you need with PHP in a Custom Code action before the DB Save action. You need to make sure that at the end you have entries in the $form->data array that match the column names that you want to save e.g.
$form->data['column_name'] = 'some_value';If you use a Model ID you can set up the data in a sub-array (that sometimes helps in complex cases):
$form->data['model_id']['column_name'] = 'some_value';Bob
Hi Bob,
I did it like this:
And I really have new entries in my database, but all fields have the value "NULL".
Please see my DB Save config in the screenshots attached.
What I am doing wrong?
Thanks and Regards
Steffen
I did it like this:
<?php
// Variablen aus Formular abholen
$veranstaltung = $form->data['ver'];
$anreise = $form->data['anreise'];
$abreise = $form->data['abreise'];
$verantwortlich = $form->data['hostmail'];
$name = $form->data['name'];
$jname = $form->data['joomla_name'];
$geburtsdatum = $form->data['geburtsdatum'];
$adresse = $form->data['adresse'];
$plz = $form->data['plz'];
$ort = $form->data['ort'];
$telefon = $form->data['telefon'];
$handy = $form->data['handy'];
$mail = $form->data['email'];
$taetigkeit = $form->data['taetigkeit'];
$stufe = $form->data['stufe'];
$stamm = $form->data['stamm'];
$vegetarier = $form->data['vegetarier'];
$allergien = $form->data['allergien'];
$kinderbetreuung = $form->data['kinderbetreuung'];
$weitere-leiter = $form->data['participant_database'];
$kommentar = $form->data['kommentar'];
$anzahlwoelflinge = $form->data['anzahlwoelflinge'];
$anzahljupfis = $form->data['anzahljupfis'];
$anzahlpfadis = $form->data['anzahlpfadis'];
$anzahlrover = $form->data['anzahlrover'];
$anzahlleiter = $form->data['anzahlleiter'];
$anzahlgesamt = $form->data['anzahlgesamt'];
// Vorname und Nachname trennen
$vollername = explode(" ",$name);
$vorname = $vollername[0];
$nachname = $vollername[1];
// Anreise und Abreise in Start und Ende trennen
$start = explode(" ",$anreise);
$startdatum = $start[0];
$startzeit = $start[1];
$ende = explode(" ",$abreise);
$enddatum = $ende[0];
$endzeit = $ende[1];
// Werte für Telefonnummer und Handy zusammenfassen
if ($telefon == "" {
$telefonnummer = $handy;
} elseif ($handy == "") {
$telefonnummer = $telefon;
} else {
$telefonnummer = $telefon . " oder " . $handy;
}
// Werte für Tätigkeit und Stufe zusammenfassen
$taetigkeitstufe = $taetigkeit . " " . $stufe;
// Anzahl Tätigkeiten / Stufe (inkl. eigene)
if ($taetigkeit == "Mitglied" && $stufe == "Woelflinge") {
$anzahlwoelflinge++;
} elseif ($taetigkeit == "Mitglied" && $stufe == "Jungpfadfinder") {
$anzahljupfis++;
} elseif ($taetigkeit == "Mitglied" && $stufe == "Pfadfinder") {
$anzahlpfadis++;
} elseif ($taetigkeit == "Mitglied" && $stufe == "Rover") {
$anzahlrover++;
} elseif ($taetigkeit == "Leiter") {
$anzahlleiter++;
} else {
$anzahlsonstige++;
}
// Werte für Allergien, Kommentar, weitere Personen zusammenfassen
$infos = "Tätigkeit / Stufe: " . $taetigkeitstufe "\n";
$infos .= "weitere Anmeldungen: " . $weitere-leiter . "\n";
$infos .= "Allergien: " . $allergien . "\n";
$infos .= "Kommentar: " . $kommentar . "\n";
$infos .= "Joomla-Username: " . $jname;
// Anzahl Vegetarier
if ($vegetarier == "Ja") {
$anzahlvegetarier = 1;
} else {
$anzahlvegetarier = 0;
}
// Kinderbetreuung in Kleinbuchstaben
if ($kinderbetreuung == 1) {
$kinderbetreuung = "ja";
} else {
$kinderbetreuung = "nein";
}
// UpdateKey generieren
$updatekey = uniqid();
// Daten in Formularfelder schreiben
$form->data['Veranstaltung'] = $veranstaltung;
$form->data['Start'] = $startdatum;
$form->data['Ende'] = $enddatum;
$form->data['Vorname'] =$vorname;
$form->data['Nachname'] =$nachname;
$form->data['Geburtsdatum'] =$geburtsdatum;
$form->data['Strasse'] =$adresse;
$form->data['Postleitzahl'] =$plz;
$form->data['Ort'] =$ort;
$form->data['eMail'] =$mail;
$form->data['Telefon'] =$telefonnummer;
$form->data['Taetigkeit_Stufe'] =$taetigkeitstufe;
$form->data['Stamm_Bezirk'] =$stamm;
$form->data['Anzahl_Woelflinge'] =$anzahlwoelflinge;
$form->data['Anzahl_Jupfis'] =$anzahljupfis;
$form->data['Anzahl_Pfadis'] =$anzahlpfadis;
$form->data['Anzahl_Rover'] =$anzahlrover;
$form->data['Anzahl_Leiter'] =$anzahlleiter;
$form->data['Namen_Leiter'] =$infos;
$form->data['Anzahl_Sonstige'] =$anzahlsonstige;
$form->data['Anzahl_Vegetarier'] =$anzahlvegetarier;
$form->data['Anreise_Tag'] =$startdatum;
$form->data['Anreise_Zeit'] =$startzeit;
$form->data['Abreise_Tag'] =$enddatum;
$form->data['Abreise_Zeit'] =$endzeit;
$form->data['Kinderbetreuung'] =$kinderbetreuung;
$form->data['Verantwortlich'] =$verantwortlich;
$form->data['updatekey'] =$updatekey;
?>And I really have new entries in my database, but all fields have the value "NULL".
Please see my DB Save config in the screenshots attached.
What I am doing wrong?
Thanks and Regards
Steffen
Hi sbischoff,
The code looks OK as far as I can tell from a quick look. What do you see when you add a Debugger action? Or if you turn Site Debug on temporarily - that should show you the MySQL query that is being created.
Bob
The code looks OK as far as I can tell from a quick look. What do you see when you add a Debugger action? Or if you turn Site Debug on temporarily - that should show you the MySQL query that is being created.
Bob
Or if you turn Site Debug on temporarily - that should show you the MySQL query that is being created.
Hi Bob,
how can I do this?
Regards
Steffen
Hi sbischoff,
The setting is in Site Admin | Global Configuration - and I think on the Server or System tab.
Bob
The setting is in Site Admin | Global Configuration - and I think on the Server or System tab.
Bob
Hi Bob!
Here is the output of the debugger:
I activated the debug mode of joomla, but there is no Database Query for the "ver_Veranstaltungen" Database...
Thanks and Regards
Steffen
Here is the output of the debugger:
Data Array:
Array
(
[ver] => test
[anreise] => 08.11.2013 13:00
[abreise] => 09.11.2013 13:00
[hostmail] => bischoff.steffen@gmail.com
[chronoform] => Anmeldeformular
[event] => submit
[joomla_name] => steffen.bischoff
[name] => Steffen Bischoff
[geburtsdatum] => 17.02.1982
[adresse] => MyStreet
[plz] => 66666
[ort] => MyTown
[telefon] => 12345678
[handy] => 12345678
[email] => me@email.com
[taetigkeit] => Vorsitzender
[stufe] => Diözese
[stamm] => MyScoutGroup
[vegetarier] => Ja
[allergien] => Laktoseintoleranz
[kinderbetreuung] => 1
[kommentar] => This is a Test
[participant] => Array
(
[1] => Array
(
[name] => Test Person1
[mail] => test@person1.com
[taetigkeit] => Leiter
[stufe] => Stamm
)
[2] => Array
(
[name] => Test Person2
[mail] => test@person2.com
[taetigkeit] => Vorsitzender
[stufe] => Bezirk
)
[3] => Array
(
[name] => Test Person3
[mail] => test@person3.com
[taetigkeit] => Mitglied
[stufe] => WoeliAK
)
[4] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[5] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[6] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[7] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[8] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[9] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[10] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
)
[chrono_verification] => Vk4Kf
[input_submit_31] => Zustimmen & Anmelden
[09446e02eba5957d8e042b6251af7812] => 1
[participant_info] => Test Person1, test@person1.com
Leiter Stamm
Test Person2, test@person2.com
Vorsitzender Bezirk
Test Person3, test@person3.com
Mitglied WoeliAK
[chronoform_data] => Array
(
[cf_uid] => e90fdb0798c8261bd28132eaf76d170d
[cf_created] => 2014-01-03 13:27:59
[cf_created_by] => 913
[cf_ipaddress] => 213.144.7.105
[cf_user_id] => 913
[ver] => test
[anreise] => 08.11.2013 13:00
[abreise] => 09.11.2013 13:00
[hostmail] => bischoff.steffen@gmail.com
[chronoform] => Anmeldeformular
[event] => submit
[joomla_name] => steffen.bischoff
[name] => Steffen Bischoff
[geburtsdatum] => 17.02.1982
[adresse] => MyStreet
[plz] => 66666
[ort] => MyTown
[telefon] => 12345678
[handy] => 12345678
[email] => me@email.com
[taetigkeit] => Vorsitzender
[stufe] => Diözese
[stamm] => MyScoutGroup
[vegetarier] => Ja
[allergien] => Laktoseintoleranz
[kinderbetreuung] => 1
[kommentar] => This is a Test
[participant] => Array
(
[1] => Array
(
[name] => Test Person1
[mail] => test@person1.com
[taetigkeit] => Leiter
[stufe] => Stamm
)
[2] => Array
(
[name] => Test Person2
[mail] => test@person2.com
[taetigkeit] => Vorsitzender
[stufe] => Bezirk
)
[3] => Array
(
[name] => Test Person3
[mail] => test@person3.com
[taetigkeit] => Mitglied
[stufe] => WoeliAK
)
[4] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[5] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[6] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[7] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[8] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[9] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
[10] => Array
(
[name] =>
[mail] =>
[taetigkeit] =>
[stufe] =>
)
)
[chrono_verification] => Vk4Kf
[input_submit_31] => Zustimmen & Anmelden
[09446e02eba5957d8e042b6251af7812] => 1
[participant_info] => Test Person1, test@person1.com
Leiter Stamm
Test Person2, test@person2.com
Vorsitzender Bezirk
Test Person3, test@person3.com
Mitglied WoeliAK
[ID] => 2989
)
[chronoform_data_id] => 2989
)
Validation Errors:
Array
(
)
Debug DataI activated the debug mode of joomla, but there is no Database Query for the "ver_Veranstaltungen" Database...
Thanks and Regards
Steffen
Hi Bob,
maybe that´s the problem:
What do you think?
Regards
Steffen
maybe that´s the problem:
Validation Errors:
Array
(
)What do you think?
Regards
Steffen
Hi sbischoff,
That snippet just tells you that the Validation Errors array is empty, that is, there are no validation errors.
It does look as though you are saving a participants array to the the Database though. That normally won't work, unless you convert the result to a string (or a set of separate columns, or separate records) first.
Bob
That snippet just tells you that the Validation Errors array is empty, that is, there are no validation errors.
It does look as though you are saving a participants array to the the Database though. That normally won't work, unless you convert the result to a string (or a set of separate columns, or separate records) first.
[participant] => Array
(
[1] => Array
(
[name] => Test Person1
[mail] => test@person1.com
[taetigkeit] => Leiter
[stufe] => Stamm
)
[2] => Array
(
[name] => Test Person2
[mail] => test@person2.com
[taetigkeit] => Vorsitzender
[stufe] => Bezirk
)
[3] => Array
(
[name] => Test Person3
[mail] => test@person3.com
[taetigkeit] => Mitglied
[stufe] => WoeliAK
)
. . .Bob
This topic is locked and no more replies can be posted.
