Umfrage

Hallo, ich bin gerade dabei eine Kundenumfrage zu realisieren, dabei sollen 16
Fragen nacheinander (auf verschiedenen Seiten) beantwortet werden ... ich habe mir gedacht ich löse
das einfach, indem ich 16 Seiten mit HTML-Code erzeuge und die Auswertung über
ein externes PERL-Script löse,
Mein Problem ist jetzt, das ich vom Script nur die Formulardaten auslesen
lassen will, gleichzeitig aber von Seite zu Seite springen will.
Wenn ich Form und Submit verwende, komme ich leider nur auf die ausgabe des
PERL-Scripts, ich will aber nur die Formulardaten vom Perl-Script verarbeiten
lassen, und als nächste Seite die nächste Frage angezeigt bekommen ...
ich habs schon mit Javascript onSubmit probiert, bringt nix, kann ich das mit
type=hidden lösen? Oder gibt es andere Möglichkeiten?
Danke!
 
Warum so kompliziert. An deiner Stelle würde ich es nicht mit PERL machen.
Sondern mit HTML(Eingabeformular), PHP(Daten einlesen), einer SQL-Datenbank(Daten speichern). So kannst du auch die Daten proffesionell mit PHP auslesen.
Ich selbst kenne mich auch in dieser Branche aus und musste auch schon etliche solcher Kundenumfragen zusammenbasteln.
Da hieß es immer, das es in HTML,SQL und PHP gemacht werden muss und ist daher am meisten angesehen. Aber ich weiß nicht aus welchen Grund du die Umfrage machst.
Wenn es von der Schule bzw. Berufsschule kommt oder dem Betriebspraktikum, -lehrstelle dann solltest du es schon mit HTML, PHP und SQL machen, sonst hagelt es Minuspunkte.
Glaub mir ich spreche aus Erfahrung. :D
 
Ob nun Perl oder PHP ist doch Ladde... beziehungsweise Geschmackssache *g

Worauf er eigentlich hinauswollte ist wahrscheinlich eher: Wie kann man erstmal alle Fragen stellen und erst zum Schluss an die Auswertung übergeben?

Da gibt's dann 2 Möglichkeiten. Die erste wurde bereits angesprochen, du speicherst alles in einer Datenbank und lässt das ganze dann zum Schluss von irgendeinem Auswertungsscript verwursten. Das hat 2 Nachteile: Zum einen wirst du so vielleicht feststellen, dass die ersten Fragen mehr Antworten haben als die letzten, da einige mitten in der Umfrage vielleicht abgebrochen haben. Zum anderen kann es aber auch passieren, dass jemand nochmal schnell auf "zurück" geklickt hat um eine andere Antwort auszuwählen, und dann hast du (wenn man das nicht bei der Programmierung beachtet) 2 Datensätze in der Datenbank, die eigentlich zur selben Person gehören.

Klingt net so dolle, daher mein Vorschlag: Speichere die Daten erstmal in einer Session und schreibe sie erst in die Datenbank, wenn alle Fragen beantwortet sind. So landen auch nur vollständig ausgefüllte Fragebögen in der DB und die Auswertung des ganzen sieht etwas konsistenter aus ;)
 
also der Grund warum ich mit Perl angefangen hab war der, das ich mich da besser auskenne, bzw. ich nicht wusste wie ich in typo3 (darauf basiert die ganze Webseite) php-code einbaue ...
Ich glaub das Hauptproblem das ich immer noch (egal ob php oder PERL) habe, ist das ich mit der Submit-action automatisch auf eine Auswertungsseite komme, und nicht einfach die Variablen speichern kann (z.B. mit PERL:DBI) und dann direkt auf die nächste Fragen-Seite linken kann, das geht wohl nur über ein Konstrukt, so ähnlich wie bei dem Ratespiel (auch Thread von heute)
Ich übergebe im HTML-Code:
z.B. für die 3. Frage:
<input type=hidden name="Frage" value="3">

und benutze diese Nummer dann im Auswertungs("action")-skript:

$frage = $_POST['frage'];
echo Danke, <a href=\"http://typo3-dev.sil.at/index.php?id=".($Frage + 1)."\">Weiter zur nächsten Frage</a></p>";

wenn ich das ganze jetzt nicht mit einem Link mache sondern mit einem redirect, dann hab ich das quasi gelöst, aber am liebsten wäre mir gewesen, wenn ich die Datenauswertung und die Weiterleitung zur nächsten Seite getrennt gehabt hätte, das hätte einige Dinge aufgrund des CMS fereinfacht.
Aber das geht scheinbar nicht, oder?
 
Klar geht das. Du kannst ja, wie schon gesagt, einfach die Werte in eine Session setzen. Oder du setzt die vorige Antwort in ein hidden-Feld.
 
Das wie ist in PHP recht einfach... aber wenn du's lieber in Perl machen willst, dann schau dich mal nach "perl session management" bei der Suchmaschine deiner Wahl um. Das hier sieht schonmal recht vielversprechend aus.
 
Zurück
Oben