Webform-Modul: Keine Confirmation Page, wenn "Save Draft" aktiviert ist
am 08.05.2011 - 18:58 Uhr in
Hallo,
Ich habe ein Problem, dass für einen Programmierer sicher in 10-15 Minuten gefunden ist.
Da ich mich mit dem PHP-Code nicht so gut auskenne, würde ich mich sehr freuen, wenn mir jemand helfen kann.
Es gibt einen kleinen Bug im Webform-Modul, der bereits mehrere (hier: http://drupal.org/node/1084464) gestört hat, aber niemand eine Lösung gepostet hat.
Also:
Habe die neueste Webform 7.x-Version und damit ein mehrseitiges Formular erstellt.
Mittels der Einstellung "Automatically save as draft between pages" wollte ich, dass die Daten nach jeder Seite bereits gespeichert werden und nicht erst nach Ausfüllen des gesamten Formulars. Wenn man das allerdings einstellt, kommt nach Absenden des gesamten Formulars keine "Confirmation Page" (Bestätigungsseite), sondern wird nur die letzte Formularseite erneut geladen.
ich glaube, dass in der webform.submission.inc der Fehler liegt.
Hier kann man auch nach "draft" suchen und bekommt ein paar Ergebnisse.
Würde mich sehr freuen, wenn irh mir heflen könntet.
Lg
- Anmelden oder Registrieren um Kommentare zu schreiben
Zitat: Ich habe ein Problem,
am 08.05.2011 - 20:28 Uhr
Ich habe ein Problem, dass für einen Programmierer sicher in 10-15 Minuten gefunden ist.
Dann musst du ja der erfahrenere Programmierer sein, um dies zu behaupten.
Ich habe mir die Issue mal angesehen:
PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'cid' at row 1: INSERT INTO {webform_submitted_data} (nid, sid, cid, no, data) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => 48 [:db_insert_placeholder_1] => 4 [:db_insert_placeholder_2] => [:db_insert_placeholder_3] => 0 [:db_insert_placeholder_4] => Page Break 3 ) in webform_submission_insert() (line 133 of /var/www/vhosts/ecoms.org.uk/httpdocs/sites/all/modules/webform/includes/webform.submissions.inc)
In der Datei webform.submissions.inc kommt scheinbar in der Zeile 133 ein falscher Zahlenwert (Integer) an. Hier solltest du mit einem PHP-Editor deiner Wahl ansetzen, das Devel-Modul installieren und prüfen, welcher unerwartete Wert ankommt und das dann umschiffen.
- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn
naja ich kapier ein schon die
am 08.05.2011 - 20:59 Uhr
naja ich kapier schon die Logik des Programmierens aber nicht speziell PHP.
deshalb hab ich das behauptet.
naja ich komm da leider nicht alleine drauf.
bitte um hilfe
wäre echt cool, wenn das
am 09.05.2011 - 23:28 Uhr
wäre echt cool, wenn das jemand hinkriegen würde.
Meine Webseite ist nämlich schon online und das ist der einzig unschöne Fehler, für den ich keine Lösung weiß
http://drupal.org/node/101306
am 10.05.2011 - 07:24 Uhr
http://drupal.org/node/1013062
Siehe Antwort #4. Bezieht sich zwar auf ein anderes Modul, aber das Problem und die Lösung ist dieselbe.
Do it with Drupal.
dort wird in einer flag.inc
am 10.05.2011 - 22:13 Uhr
dort wird in einer flag.inc etwas geändert.
bei mir gibt es aber keine webform.inc oder ähnliches. hab alle dateien nach "global" durchsucht. finde aber nirgends global im Quellcode, immer nur als Kommentar
hast dir die von mir erwähnte
am 10.05.2011 - 22:37 Uhr
hast dir die von mir erwähnte zeile in der webform.submissions.inc angesehen?
- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn
wie gesagt, ich bin nicht gut
am 10.05.2011 - 23:24 Uhr
wie gesagt, ich bin nicht gut in Programmieren.
Genau diese angesprochene Zeile finde ich in der webform.submissions.inc nicht.
Wenn ich nach "global" suche, finde ich 3 Funktionen, wobei anscheinend nur die eine für die Submission Page zuständig ist:
function webform_submission_page($node, $submission, $format) {
global $user;
// Add admin CSS.
drupal_add_css(drupal_get_path('module', 'webform') . '/css/webform-admin.css', array('group' => CSS_DEFAULT));
// Render the admin UI breadcrumb.
webform_set_breadcrumb($node, $submission);
if ($format == 'form') {
$output = drupal_get_form('webform_client_form_' . $node->nid, $node, $submission);
}
else {
$output = webform_submission_render($node, $submission, NULL, $format);
}
// Determine the mode in which we're displaying this submission.
$mode = ($format != 'form') ? 'display' : 'form';
if (preg_match("!^q=print/!", $_SERVER['QUERY_STRING'])) {
$mode = 'print';
}
if (preg_match("!^q=printpdf/!", $_SERVER['QUERY_STRING'])) {
$mode = 'pdf';
}
// Add navigation for administrators.
if (webform_results_access($node)) {
$navigation = in_array($mode, array('display', 'form')) ? theme('webform_submission_navigation', array('node' => $node, 'submission' => $submission, 'mode' => $mode)) : NULL;
$information = theme('webform_submission_information', array('node' => $node, 'submission' => $submission, 'mode' => $mode));
}
else {
$navigation = NULL;
$information = NULL;
}
// Actions may be shown to all users.
$actions = theme('links', array('links' => module_invoke_all('webform_submission_actions', $node, $submission), 'attributes' => array('class' => array('links', 'inline', 'webform-submission-actions'))));
// Disable the page cache for anonymous users viewing or editing submissions.
if (!$user->uid) {
webform_disable_page_cache();
}
return theme('webform_submission_page', array('node' => $node, 'submission' => $submission, 'submission_content' => $output, 'submission_navigation' => $navigation, 'submission_information' => $information, 'submission_actions' => $actions));
}
Bin ich hier richtig?
Was genau muss ich jetzt hier ändern.
Ist ja doch etwas anders als beim anderen Problem oder?
Danke für eure Hlfe
Schau mal was sich in Zeile
am 10.05.2011 - 23:45 Uhr
Schau mal was sich in Zeile 133 innerhalb dieser Datei befindet.
- Mein Profil auf Drupal.org
- Mein Profil auf LinkedIn
naja bis jetzt hab ich diese
am 11.05.2011 - 02:48 Uhr
naja bis jetzt hab ich diese fehlermeldung mit zeile 133 noch nie bekommen.
Aber hab mal devel-tool installiert, kenn mich aber nicht aus.
bin auf seite 5 gegangen auf SUBMIT -> er lädt bloß seite 5 neu.
Hab an dieser stelle devel geöffnet und bin auf "render" oben gegangen, weil ich bei load nichts interessantes gefunden hab.
k.A. ob das richtig ist.
Kann sonst nicht jemand, der das Webform modul installiert hat nachgucken?
Der Fehler sollte bei jedem mehrseitigen Formular auftreten. deshalb wundert es mich, dass da noch nie jemand eine lösung dafür gepostet hat.
Mal ein Bild von Devel (k.A. was ich da machen soll):
http://i56.tinypic.com/2zeil1e.png
bitte nochmal um hilfe. das
am 12.05.2011 - 14:37 Uhr
bitte nochmal um hilfe.
das problem müsste doch bisher JEDER gehabt haben, der ein mehrseitiges Formular erstellt hat.