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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-06-2009, 15: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, 16:42
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
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, 16: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, 17:48
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
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 20:33
Wie Code am besten/sinnvollsten kodieren? Screw Driver PHP Developer Forum 4 02-01-2007 16:06
welche p-sprache ist am sinnvollsten? daywalker1174 Off-Topic Diskussionen 0 10-05-2006 14:22
[MySQL 4.0] Einträge per Weiterklicken presentweb PHP Developer Forum 3 26-06-2003 19:50
Wie ist es am sinnvollsten ? zuzu PHP Developer Forum 8 09-11-2002 16: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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:29 Uhr.