brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-06-2009, 14:14
INC.
 Registrierter Benutzer
Links : Onlinestatus : INC. ist offline
Registriert seit: Nov 2005
Beiträge: 106
INC. ist zur Zeit noch ein unbeschriebenes Blatt
Standard Wie an sinnvollsten eine Routine zum weiterklicken schreiben?

Hallo Forum

ich würde gerne eine Art Installationsprogramm schreiben, welches dem User nacheinander verschiedene Seiten zeigt, in denen er Eingaben tätigen muss. Am ehesten entspricht das Vorhaben einer Onlineumfrage oder einer Installationsroutine bei den bekannten CMS.

Wie man solche Seiten hintereinander schaltet ist kein Problem.

Mir geht es eher um Usability, und zwar vor allem um den Back-Button im Internetbrowser.

Angenommen, ein User arbeitet die Routine durch und befindet sich aktuell auf Seite 5. nun fällt ihm ein, dass er auf Seite 4 oder 3 etwas vergessen hat und bedient ein oder zweimal den Backbutton des Browsers. Kann ich irgendwie steuern, was er dann zu sehen bekommen soll, oder zeigt der Browser stur Seite 4 und 3 so an, wie der User sie verlassen hat?

Im Firefox kommt dann immer so ein Hinweis, dass die Seite mit Post-Dateien erstellt wurde und die erneut gesendet werden müssten. Auch wenn das auf eine Art und Weise ja eine hilfe darstellt, stört es doch den "Workflow". Kann man das irgendwie umgehen?

Am idealsten wäre es natürlich, wenn das ganze ein Abbild der bekannten Installationsprogramme unter Windows wäre. Sprich der User kann sich vor-und zurückklicken wie er will, ohne dass er irgendwelche Meldungen bekommt, ohne dass alte Eingaben verloren gehen.

Dazu kommt noch: Usereingaben finden ja üblicherweise über ein Formular statt, welches nur POST und GET zum Versenden anbietet. GET will ich eigentlich vermeiden, und POST macht vielleicht wegen den oben erwähnten Sachen Probleme.

Was meint ihr dazu?

Gruß
Mit Zitat antworten
  #2 (permalink)  
Alt 08-06-2009, 15:42
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.746
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von INC. Beitrag anzeigen
Was meint ihr dazu?
Du möchtest dich eingehender mit dem Zusammenspiel zwischen dem Browser und der WebApplication beschäftigen, dann kommen solche Vorhaben/Forderungen nie in Frage.
Mit Zitat antworten
  #3 (permalink)  
Alt 08-06-2009, 15:58
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

Nö, es ist ganz gut möglich. Du hast verschiedene Möglichkeiten. Eine wäre javascript und Cookies zu verwenden.
Mit Zitat antworten
  #4 (permalink)  
Alt 08-06-2009, 16:48
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Speichere die Formulardaten nach dem Abschicken in einer Session und leite per Location-Header auf das nächste Formular weiter.
Beim Anzeigen eines Formulars setzt du die Werte aus der Session als Values der Inputs.
So kann man die Back und Forward Buttons nutzen, sieht was man zuvor schon mal eingegeben hatte und kann es ändern.

PHP-Code:
<?php

function validate($step$data) {
    switch (
$step) {
        default: return !empty(
$data['t'][$step]);
    }
}

function 
save($step$data) {
    
$_SESSION['data'] = array_merge($_SESSION['data'], $data);
}

function 
read($step$name) {
    
//session_start();
    
return isset($_SESSION['data'][$name][$step])
        ? 
$_SESSION['data'][$name][$step]
        : 
null;
}

session_start();
$step = isset($_REQUEST['step']) ? (int)$_REQUEST['step'] : 1

if (isset(
$_REQUEST['submit'])) {
    if (
validate($step$_REQUEST)) {
        
save($step$_REQUEST);
        
$step++;
        
header('Location: '.$_SERVER['PHP_SELF'].'?step='.$step);
    } else {
        
$error 'All fields required!';
    }
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head><title></title></head>
<body>
<?php if (isset($error)) echo '<p>'.$error.'</p>'?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'].'?step='.$step?>">
<?php
for ($i 1$i <= $step$i++) {
    echo 
'<input type="text" name="t['.$i.']" value="'.read($i't').'" /><br />';
}
?>
<input type="submit" name="submit" value="ok" />
</form>
</body>
</html>
Das soll nur zeigen, was ich meine. Du würdest natürlich nicht alle vorherigen Inputs erneut ausgeben (for-Schleife). Das ist hier nur zur Kontrolle drin.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
gibt es eine alternative zum Zeilenweise Schreiben in eine .txt?? spam2008 PHP Developer Forum 4 21-11-2007 19:33
Wie Code am besten/sinnvollsten kodieren? Screw Driver PHP Developer Forum 4 02-01-2007 15:06
welche p-sprache ist am sinnvollsten? daywalker1174 Off-Topic Diskussionen 0 10-05-2006 13:22
[MySQL 4.0] Einträge per Weiterklicken presentweb PHP Developer Forum 3 26-06-2003 18:50
Wie ist es am sinnvollsten ? zuzu PHP Developer Forum 8 09-11-2002 15:26

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:48 Uhr.