Problem mit Session-Variablen

nah

Grünschnabel
Hallo,
ich habe ein Formular mit 3 Seiten.
Auf der ersten Seite soll eine Variable mit dem Wert eines Radiobuttens gefüllt werden:

Code:
<?php
//Seite 1
session_start();

$_SESSION['t_mittwoch']= $_POST['t_raumwahl_2'];

?>

<form>
<input type="radio" name="t_raumwahl_2" id="raumwahl_21" checked="true" value="2">
<input type="radio" name="t_raumwahl_2" id="raumwahl_21" value="1" >
</form>

Auf der zweiten Seite wird die Variable nur weitergegen:
(bin mir nicht sicher ib das ein eleganter Weg ist aber er hat bis jetzt immer funktioniert..)
Code:
session_start();
$_SESSION['t_mittwoch']= $_POST['t_mittwoch'];

Auf der dritten Seite will ich hab ich nun eine Abfrage:

Code:
session_start();
$mittwoch = $_SESSION['t_mittwoch'];
if($mittwoch == '1'){
		$mail_text .= "Mittwoch<br>";

Mein Problem ist, dass die if-Abfrage nie true wird.
so wweit ich es getestet habe liegt es wohl daran das die Variable auf Seite 1 nicht richtig gesetzt wird.

Vll sieht jemand von euch ja direkt einen Fehler.

MFG
 
Ist das dein gesamter Code, oder ist da noch mehr? Sendest du das Formular auch ab?
Was machst du wenn auf Seite 1 das Formular noch nicht abgesenedt ist, dann belegst du $_SESSION['t_mittwoch'] immer mit "null".

Auf der 2. Seite fehlt mir irgendwie das Verständniss was es überhaupt machen soll.
Auf Seite 1 deklarierst du
$_SESSION['t_mittwoch'], auf der 2. Seite überschriebst du es.

Vielleicht erklärst du mal genauer was du vorhast oder postest mehr Code.
 
Hey,
Ist das dein gesamter Code, oder ist da noch mehr?
Da ist noch mehr aber das wäre wohl zu viel um alles zu Posten.
Was machst du wenn auf Seite 1 das Formular noch nicht abgesenedt ist, dann belegst du $_SESSION['t_mittwoch'] immer mit "null".
am Ende von Seite 1 wird das Formular via Submit-Butten abgesendet.
(Viel auch der Kürzung zum Opfer)

Auf der 2. Seite fehlt mir irgendwie das Verständniss was es überhaupt machen soll.
Auf Seite 1 deklarierst du
$_SESSION['t_mittwoch'], auf der 2. Seite überschriebst du es.

Also es soll nichts mit der Variablen Passieren. Sie soll nur weiter an Seite 3 gegeben werden.

Ich will das auf Basis der Radio-Auswahl auf Seite1 der Email Text auf Seite 3 angepstt wird.

Danke für die schnell Rückmeldung
 
Wenn du die Variable in die Session schreibst, ist sie lange gültig, wie lange auch die Session gültig ist.
Also könntest du sie auf Seite 1 dekalrieren und auf seite 100 ausgeben, solange du sie nicht wie in Seite2 überschreibst.
 
solange du sie nicht wie in Seite2 überschreibst.

Habe aus Seite 2 diese Zeile :

Code:
$_SESSION['t_mittwoch']= $_POST['t_mittwoch'];

entfernt.

Hat aber leider nichts an meinem Problem gelöst. Die if abfrage wird nicht True.

Ich habe in dem Formular noch eine CheckBox, die quasi genau dieselbe Funktion hat:
Wenn checked ändert sich text in Seite 3.
Diese funktioniert einwandfrei. Deswegen bin ich auch so Ratlos.

Vielen Dank
 
Poste doch mal bitte den Relevanten Code von Seite 1. Die dreizeiler helfen nicht wirklich.
Überschreibst du die Variable vielleicht doch noch irgendwo auf ihrer Reise durch dein Script? :D

Vielleicht solltest du auch auf korrektes und Valides HTML achten.
Code:
<input type="checkbox" name="foo" checked="checked" />
 
ok. werde ich machen!
bin gerade leider schon unterwegs Code folgt in grob einer Stunde.

Edit: also schaffe es heute nicht mehr... mehr folgt morgen!

Danke für dein Interesse an meinem Problem.

MFG
 
Zuletzt bearbeitet:
Hallo,

also ich habe es nun nach weiteren Test und kompletter Isolation des Codes selbst geschafft.
Es lag daran, dass der ID-Name der Checkboxen, den ich für disable-einstellungen benutze identisch einer anderen Session-Variablen war.

Umbenannt und es geht.

Vielen Dank für dein Interesse.

MFG
 
Zurück