ilch Forum » Allgemein » HTML, PHP, SQL,... » mehrseitiges Formular

Geschlossen
  1. #1
    User Pic
    Nobody is perfe Mitglied
    Registriert seit
    20.01.2009
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    Hi

    ich bin momentan dabei ein mehrseitiges Formular zu machen. Es is so aufgebaut wie die install.php
    Klappt auch alles. Aber es hat ein schönheitsfehler und zwar wenn man es falsch ausgefüllt hat und wieder zurückgelangt darf man das ganze nochmal neu ausfüllen. Nun habe ich mal ein kleines Script geschrieben, ich habe es mal mit Session probiert, ging aber auchnicht so wie ich wollte vil könnt ihr mir ja weiter helfen

    <?php
    defined ('main') or die ( 'no direct access' );
    
    
    $title = $allgAr['title'].' :: Kontakt';
    $hmenu = 'Kontakt';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    session_start();
    
    $_SESSION['name']			= escape($_POST['name'],'string');
    $_SESSION['vorname']		= escape($_POST['vorname'],'string');
    
    ?>
    <form method="post" action="">
    <?php
    if(empty($_POST['step'])){
    ?>
    	<input type="hidden" name="step" value="2" />
    	Name<input type="text" name="name" value="<?=$_SESSION['name']?>" /><br />
    	<input type="submit" value="Weiter" />
    <?php
    }
    elseif($_POST['step'] == 2){
    	if(empty($_SESSION['name'])){
    		echo "Bitte Fülle sie name aus<br /> Zurück";
    	}
    	else{
    ?>
    	<input type="hidden" name="step" value="3" />
    	Vorname<input type="text" name="vorname" value="<?=$_SESSION['vorname']?>" /><br />
    	<input type="submit" value="Weiter" />
    <?php
    	}
    ?>
    
    <?php
    }elseif($_POST['step'] == 3){
    	echo "hhh";
    }
    ?>
    </form>
    <?php
    
    $design->footer();
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Oldemuche Mitglied
    Registriert seit
    11.04.2006
    Beiträge
    1.027
    Beitragswertungen
    44 Beitragspunkte
    kleiner tipp...

    session_start();

    muss immer ganz oben sein es darf nichts darüber sein. Habe den rest nicht angeguckt aber das ist mir direkt aufgefallen...
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Nobody is perfe Mitglied
    Registriert seit
    20.01.2009
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    session_start() is doch ganz oben
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Thousandhands Mitglied
    Registriert seit
    02.10.2006
    Beiträge
    1.250
    Beitragswertungen
    0 Beitragspunkte
    du schreibst
    <?=$_SESSION['name']?>

    aber sollte es nicht heißen
    <?php echo $_SESSION['name']; ?>


    wenn es überhaupt geht mit deiner session und so ^^

    ich würd sonst einfach die variablen immer mitübergeben und die var. in value ausgeben zwinker
    Pion hat sich hier verewigt
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Nano.v1 Hall Of Fame
    Registriert seit
    14.02.2009
    Beiträge
    896
    Beitragswertungen
    0 Beitragspunkte
    ich würde es auch nicht über session machen, da passwörter in diesem fall ungeschützt gespeichert würden, ich würde einen array mit $post übergeben, welcher die daten speichert, dazu sollten passwörter direkt ins verschlüsselte format konvertiert werden
    Kein Support ausserhalb dieses Forum, es sei denn ich biete es selbst an, und das passiert ....?!

    Nano´s Ilch-Seite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Nobody is perfe Mitglied
    Registriert seit
    20.01.2009
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    also passwort wird bei meinem formular nicht benötigt.
    habs mit dem aarray probiert zeigt mir nix an habs mit var dump() ausgebenlassen


    Zuletzt modifiziert von Nobody is perfe am 16.01.2010 - 12:25:00
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Nano.v1 Hall Of Fame
    Registriert seit
    14.02.2009
    Beiträge
    896
    Beitragswertungen
    0 Beitragspunkte
    sry, mein fehler, der array wird nicht mit $post übergeben, sondern ist global zu setzen, also nicht in einem form, das form muß den array immer um den forminhalt ergänzen, sry
    Kein Support ausserhalb dieses Forum, es sei denn ich biete es selbst an, und das passiert ....?!

    Nano´s Ilch-Seite
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Nobody is perfe Mitglied
    Registriert seit
    20.01.2009
    Beiträge
    22
    Beitragswertungen
    0 Beitragspunkte
    hmm also es klappt alles nicht so richtig wie es sein sollte ich hab mir das so gedacht wenn man absenden klickt wird zuerst überprüft obein fehler im formular ist. Dann wenn keine fehler sind weiter zur nächsten seite und so weiter
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    annemarie gelöschter User
    <?php
    session_start();
    // Nachfolgende zeile auskommentieren um änderungen zu beobachten ;)
    $_SESSION['vorname'] = 'Jean luc';
    
    $vorname = isset($_SESSION['vorname']) ? $_SESSION['vorname'] : 'Ihr Vorname' ;
    
    echo '<label for="vorname">Vorname</label><input type="text" name="vorname" value="'.$vorname.'" id="">';



    Zuletzt modifiziert von annemarie am 22.01.2010 - 16:52:42
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten