Zum Inhalt springen

Speicherproblem bei Session


Empfohlene Beiträge

hmmm bei mir geht das.

- hab alles kopiert und die beiden seiten bewerbung1.php und bewerbung2.php angelegt

- dann in bewerbung1.php stelle, standort und eine checkbox geklickt angegeben.

- nach dem senden des forms war ich auf bewerbung2.php

- dann hab ich auf den zurückbutton/link, den ich zu einem textlink gemacht habe, denn ein button kann meines wissens nach kein <a href> um sich herum haben, geklickt und bin wieder auf bewerbung1.php gelandet.

- dort befanden sich alle eingegebenen daten und die gecheckte checkbox auch nach einem reload der seite.

was geht nun nicht deiner meinung nach?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dank dir erstmal, Ich hatte dann doch noch so ein oder mehrere Fehler, die ich nun behoben habe dank eurer Hilfe. Ich glaub nun hab ich sogar die ganze Session-Sache kapiert.

Das einzige Problem ist der von dir schon angesprochene "Zurück"-Button.

Sobald ich den drücke geht das mit der Session nicht mehr.BZW. die Daten werden dann nicht mehr in die Textfelder eingelesen.

Wie kann ich das Problem beseitigen bzw. mit welcher Methode funktioniert das Ganze?

Um es nochmals zu erklären.

Wenn ich mein Formular von Seite 1 bis 6 durcharbeite und am ENde dann wieder per URL auf Seite 1 gehe sind alle Daten in meinem Formular(Seite 1 bis 6 ) eingetragen. Gehe ich aber von Seite 6 auf Seite 5 und dann auf 4 usw. mit meinem Button für Zurück werden die DAten nicht in die Felder eingelesen.

Button:

<a title="Zurück" href="bewerbung1.php"><input type="button" value="<<" name="ZURUECK"></a>

Weiss einer wieso dass so ist?Wird da eine neue Session gestartet?

Vielen Dank für Antworten

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, das ist doch klar.

Aaaaaaalso.

Du speicherst Deine Daten von Seite 1 auf Deiner Seite 2.

Und zwar weil Du Sie per Post und Deinem Submit Button überträgst.

Somit sind in diesem Moment Die Daten von Seite 1 in Sessions gespeichert.

Wenn Du nun mit Deinem "href Link" auf Seite 1 zurückgehst stehen Die Daten drin.

Wenn Du aber auf Seite 2 bist und dort Daten einträgst und dann auf den "href link zurück" klickst, werden die Daten von Seite 2 natürlich(!) nicht in Deinen Sessions gespeichert, weil Du ja dein Formular gar nicht abschickst, weil Du ja nicht auf einen Submitbutton, sondern auf einen normalen Link klickst.

Du müsstest also auch einen Submitbutton für "zurück" bauen und dann auf Seite 1 die Daten von Seite 2 speichern.

Alles klar?

Viel Erfolg weiterhin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn Du nun mit Deinem "href Link" auf Seite 1 zurückgehst stehen Die Daten drin.

Das tun sie eben nicht, die stehen nur drin, weil die Daten so oder so von einer auf die nächste oder zurück übermittelt werden, das hat aber ja nichts mit den Sessions zu tun sondern einfach damit dass die Variablen per method post übermittelt werden.

Oder seh ich das falsch?

Das die Daten von Seite 2 nicht gespeichert werden ist klar.

Um das zu beheben reicht das aus, den Button für zurück und den für vor mit einer id zu versehen und dann im formular einzubauen

<form name="Formular" action="<?if (id=vor) echo seite3.php; else echo seite1.php;?>" method="post" enctype="multipart/form-data" onSubmit="return chkFormular()">

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja so schauts aus, ich wollte nur ausdrücken, wenn ich mit dem von mir gebastelten ZURÜCK-Button zurück gehe scheinen die Daten aus der Session nicht mehr in die Felder eingetragen werden. Warum weiss ich nicht. Wenn ich den Zurück-Button des Browsers nehme bleiben die Daten erhalten und werden auf allen Seiten in die Felder eingetragen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm. das ist klar, aber nicht immer so. der zurück button des browsers ruft meist die cached version der verhorigen seite auf. da werden nicht die "neuen werte" aus der session angezeigt!

trotzdem ist es wichtig wie dein vorgehen ist.

- geh mal auf seite 1

- trage was in deine felder ein

- geh per submit auf seite 2

- geh dort per href link zurück auf seite 1

stehen die daten dann auf seite 1 (!) bei dir nicht mehr drin?

wenn doch, dann mach vorsichtshalber einen reload.

die daten sollten dann immer noch drin stehn.

bei mir hab ich das ausprobiert und alles war ok

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe nun von Seite 3 einen href auf Seite 1 gebaut und die Daten sind nicht mehr drin. Auch nach einem Refresh nicht.

Nun scheint das zu funzen, vielleicht hat das Aktualisieren der upgeloadeten Seiten etwas gedauert. Dennoch verstehe ich nicht, wieso das denn nicht mit dem Verlinkten Button nicht funktionieren will.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aktuell schaut der Code so aus:

Seite 1:


//SESSION START
<?
session_start();

?>
//TEXTFELDER
<td width="195"><input type="text" name="STELLE" size="20" value="<? echo $_SESSION['S_STELLE'];?>"></td>
<td width="120"><font face="Arial" style="font-size: 8pt; font-weight: 400">Standort: *</td>

<td width="195"><input type="text" name="STANDORT" size="20" value="<? echo $_SESSION['S_STANDORT'];?>"></td>
//BUTTON
<td width="270"><a title="Weiter"><input type="submit" value=">>" name="WEITER"></a></td>
[/PHP]

Seite 2:

[PHP]
//SESSION START
<?
session_start();

$S_STELLE = $_REQUEST['STELLE'];
$_SESSION['S_STELLE'] = $S_STELLE;
$S_STANDORT = $_REQUEST['STANDORT'];
$_SESSION['S_STANDORT'] = $S_STANDORT;
$S_BART = $_REQUEST['BART'];
$_SESSION['S_BART'] = $S_BART;

?>
//WEITERE TEXTFELDER

...

//BUTTONS

<input type="submit" title="Zurück" id="1" value="<<" name="ZURUECK"><a title="Weiter"><input type="submit" id="3" value=">>" name="WEITER"></a>

Seite 3:


//SESSION START
<?
session_start();

//SESSIONDATEN VON SEITE 2 SPEICHERN

//WEITERE TEXTFELDER

...


//BUTTONS UND HREF-LINK (Der eine Button hat den href auch noch)

<td width="270"><a title="Zurück" href="bewerbung2.php"><input type="button" value="<<" name="ZURUECK"></a><a title="Weiter"><input type="submit" value=">>" name="WEITER"></a></td>
</tr>
<tr height="15">
<td width="40"><a

href="bewerbung1.php">Seite1</a></td>
[/PHP]

Wenn ich nun von Seite 3 aus per href zurück auf Seite 1 gehe funzt das.Der verlinkte Button ist aber doch theoretisch auch nichts anderes? Es werden dann zwar nicht die DAten von Seite 2 gespeichert, da kein Submit-Button aber die von Seite 1 sollten doch noch da sein. Das ist aber nicht der Fall.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nochmal wie bereits erwähnt: Einen <a> link um einen Button bauen ist eh nicht wirklich Standardkonform wie ich meine. Mach aus dem <button> dann lieber eine Grafik die den Button zeigt.

Und Du schreibst ja, dass es als Link funktioniert.

Dann wärs doch ok oder?

Warum genau das jetzt in Deinem Fall so nicht funktioniert kann ich Dir so leider nicht sagen, aber mit der o.g. Lösung muss es eigentlich klappen (tuts bei mir lokal ja auch ;))

Viele Grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...