Aufbau, Struktur einer Seite

Soo da die folgende Seite mit PHP realisiert wird hab ich mich auch mal für das PHP Forum entschieden obwohl meine Frage eher auf die Strukturierung der Seite abzielt. Sollte das Forum falsche sein, man möge mich verschieben ;)

Es geht um folgendes :
In der nächsten Zeit möchte eine Metallbaufirma von uns das wir Ihnen respektive den Kunden die Möglichkeit bieten sich ein Angebot für einen Wintergarten online erstellen lassen zu können. Der Kunde kann dabei zwischen ca. 10 verschiedenen Modellen wählen welche wiederum alle vollkommen unterschiedliche Benutzerangaben enthalten bzw benötigen.

In 7 - 10 Schritten soll der Kunde dann Angaben machen was er bsp erwartet, wie groß seine Wände sind, Materialien, Form, Farbe and so on. Jeder Wintergarten benötigt hierbei verschiedene Berechnungsmodelle auf denen dann auch das hinterher unverbindliche Preisangebot aufbaut.

Damit der Kunde nicht ellenlang scrollen muss (denn erfahungsgemäss scrollt der Besucher net so unendlich gern), sollen die einzelnen Angaben in 7-10Schritte untergliedert werden.

Meine Frage wäre jetzt mal an der Stelle : Was wäre dafür die geeignetste Lösung ?
Ich dachte mir anfangs vielleicht ALLE Schritte auf einer Seite anzuzeigen.
Für jeden Schritt eine Tabelle oder ein DIV Container. Alle ausgeblendet und erst wenn man einen Schritt weiter geht wird der nächste eingeblendet. Nur was machen wenn der Kunde dann den Back-Button des Browsers drückt ?

Dann wäre noch ein Lösungsansatz bit Sessions oder Cookies. Wo dann alle gemachten Angaben eben in Sessions- oder Cookies verarbeitet werden. Was ich allerdings für einen erheblichen Arbeits-Zeitaufwand halte.

Oder vielleicht nach jedem getätigten Schritt die Daten in eien MySQL Tabelle werfen und hinterher auswerten ?

Soo, jetzt an die kreativen von euch ;) Welche Variante würdet Ihr wählen oder habt Ihr ganz andere Vorschläge ?


Gruss und schönes WE
 
Nur so eine idee:

du hast 7-10 Forumlare und schickst die Daten immer an das Nächste. Dort werden sie z.B. an ein Array rangehängt, es kommen die neuen Felder dazu, schicken, die neuen Felder werden dem Array hinzugefügt und so weiter. dabei brauchst du immer nur ein "hidden" field.

wenn du dein array geschickt zusammenstrickst müsstest du auch bei rückwärsschritten immer wieder die daten auslesen können um die Felder mit den vorher gemachten angaben auszufüllen.
 
Hallo,

also für den Back Button gibt es einige Lösungsansätze, einfach mal nach AJAX Patterns googlen.

Wenn du die Daten in der Session zwischenspeicherst hast du weniger Aufwand später festzustellen welche Datensätze noch gebraucht werden, falls du eine DB benutzt um die Daten zwischen zu speichern. Denn irgendwann müssen die Datensätze ja wieder aus der DB raus, sonst wird die total zugemüllt.

Wenn du den etwas mehr Aufwand für die Arbeit mit einer DB aber in Kauf nimmst, kannst du etwas mehr Service bieten. Zum Beispiel:
Ein Cookie absetzen indem die Datensatz ID steht und dem User somit wieder den bereits erstellten Datensatz abrufen lässt. Somit kannst du Usern die z.B. bei Schritt 5 abgebrochen haben, bei einem späteren Besuch anbieten das Angebot zu Ende zu erstellen, mit den Daten mit denen er bereits begonnen hat. Oder der User kann seine Angaben verändern und ein neues Angebot berechnen lassen falls sich bei ihm was geändert hat. Oder er erstellt mehrere Angebote und kann diese direkt vergleichen in einer Gegenüberstellung.

Wenn der Datensatz eine bestimtme Zeit lang nicht aufgerufen wird (z.B. 3 Monate) kannst du Ihn ja dann löschen.

Was noch weiteren Service bieten würde und du Nutzer die Ihre Angebote nicht fertiggestellt haben zum Beispiel per E-Mail dazu auffordest doch das Angebot zu ende zu erstellen (Sofern du natürlich am Anfang schon die E-Mail Adresse des Benutzers bekommst) Sollte der der Nutzer in einer bestimmten Zeit nicht auf die E-Mail reagieren und der Datensatz wird nicht berührt -> löschen.

Alles hat seine Vor und Nachteile. Natürlich ist der zusätzliche Service mehr Aufwand, aber das musst du dem Kunden halt gut verkaufen, dann lohnt es sich auch für dich ;)

Mehr fällt mir dazu grad nicht ein...
 
Zurück