• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Dringende Hilfe: Sessions

Johnny990

Neues Mitglied
Hallo.
Ich kämpfe schon 2 Tage , quasi Tag und nacht an dem gleichen Problem. Ich werd echt schon mürbe im Kopf....
frown.gif


Ich krieg das einfach nicht hin:
Folgendes:

Ich habe ne Datei x die mir ein Selectfeld aus ner Db generiert wird:

PHP:
<select name="frage1_1" size="" id="selectbox" >
         <option value="0" selected> -- </option>
     <?php
     $res_select_frage1_1= "Select * from i_answers Where question_id=1";
     $res_frage1_1=mysql_query($res_select_frage1_1);
     
     $frage1_1=$_POST['frage1_1'];
     
     while($dsatz=mysql_fetch_assoc($res_frage1_1))
         {
                if($frage1_1==$_SESSION['frage1_1'])
                {
                 $selected='selected="selected"'; 
                }
                else
               {
          $selected="";
         }
   
          echo '<option value="'. $dsatz['id'] .'" '.$selected.' > ' . $dsatz['answer'] . ' </option> ';
               
        }
    echo '</select>';
    
          
     ?>
Jetzt leite ich dieses Skript in dem meine ganzen selects sind per action an ein Auswertungsskript weiter, dass mir dann auch die ganzen Sessionvariablen speichert.
Das auswertungsskript sieht bis jetzt so aus:

PHP:
<?php
ini_set('session.use_cookies',1);
ini_set('session.use_only_cookies',0);
ini_set('session.use_trans_sid',1);

session_start();

//Wenn senden geklickt von skript mit selects
if(isset($_POST["senden"]))
{
$frage1_1=$_POST['frage1_1'];
$_SESSION['frage1_1']= $frage1_1;


//headerweiterleitung an nächste Formularseite...
}
?>
Das funktioniert auch soweit, dass mir der richtige Wert in der Session gespeichert wird. Wenn ich jedoch nun wieder zurückgehe im Browser (per zurück oder <a href="javascript:history.back()">zur&uuml;ck</a>) stehen nicht mehr die Eingaben die ich gemacht habe in der Selectbox, sondern komischerweise immer der letzte Eintrag aus der Liste.

Ich glaub mein Fehler liegt irgendwo in der erstellung der select, besonders hier
Code:
if($frage1_1==$_SESSION['frage1_1'])
Aber komm einfach ned drauf wie ich das lösen soll.
Ein user soll beliebig durch die Seiten (zurück) naviegieren können , jedoch die Daten sollen dabei nicht verloren gehen, bzw es sollen die richtigen Daten in den jeweiligen Formularelementen drinstehn

WÄRE ZU TAUSEND DANK VERPFLICHTET WENN MIR JEMAND WEITERHELFEN KÖNNTE!
smile.gif
 
session_start(); muss auf jeder seite stehen auf der die session gebraucht wird was bei einführen eines logins in dein system schon überall ist ^^
 
history_back oder zurück macht genau das, was es soll, dein $_POST ist dann leer und es steht nichts drinnen, folglich wird deine variable $frage1_1 ist dann leer b.z.w. mit dem letzten wert gefüllt.

klick hier auf den button antworten und dann auf den button back in deinem browser, es wurde auch keine antwort ertsellt.

ps
der editor hier im board wird immer ekliger, mittlerweile gehen nicht mal mehr die farben bei mir vernünftig auf....

 
Zurück
Oben