Session auch ohne IF möglich?

Ok, habe jetzt in der Index.php folgendes geschrieben

PHP:
       // Abfrage, ob die Variable Typ existiert
if ( ! isset ( $_SESSION['Typ'] ) )
{
	$_SESSION['Typ'] = "Typ";
}
else
{
	$_SESSION['Typ'];
}

Frage wenn zwischen index.php -> Zwischenseite! -> Absenden

muss dann die Zwischenseite auch noch angesprochen werden?
und beim Absenden reicht dieser Code?

PHP:
session_start ();

echo $_SESSION['Typ'];

Warum gibt er bei mir beim Auswertung echo Typ aus?
obwohl beim Formular etwas ausgewählt worden war

Mit freundlichen Grüßen

Christian
 
Zuletzt bearbeitet:
Was macht das folgende?
PHP:
else
{
    $_SESSION['Typ'];
}
Richtig. Gar nix. Den Teil kannst du gleich weglassen

Zur Frage warum 'Typ' Ausgegeben wird, darum:
PHP:
$_SESSION['Typ'] = "Typ";

Du übernimmst nirgnes die Formulardaten. Ansonsten müsstest das so aussehen (Annahme: Form mit POST)
PHP:
$_SESSION['Typ'] = (isset($_POST['typ']) ? $_POST['typ'] : 'standartType':
 
Zur Index.php:
Im else hast du schon wieder so was Seltsames :rolleyes:
Wenn du kein else brauchst schreib doch einfach keins.
Einfach den Variablennamen hinschreiben, ohne den Wert zu verwenden
oder einen neuen zuzuweisen ist einfach Unsinn.

Zwischenseite: Wenn die nichts von _SESSION will braucht dazu auch kein Code drin sein.

Zur Ausgabe: Versteh ich das richtig, dass echo mit ausgegeben wird?
 
Zur Index.php:
Im else hast du schon wieder so was Seltsames
Wenn du kein else brauchst schreib doch einfach keins.
Einfach den Variablennamen hinschreiben, ohne den Wert zu verwenden
oder einen neuen zuzuweisen ist einfach Unsinn.

Zwischenseite: Wenn die nichts von _SESSION will braucht dazu auch kein Code drin sein.

Zur Ausgabe: Versteh ich das richtig, dass echo mit ausgegeben wird?

Das mit echo war nur ein Test ;)

Juhu, vorher hat es wenigstens einen Wert ausgegben :D

In der Index.php steht nun:

PHP:
       // Abfrage, ob die Variable Typ existiert
if ( ! isset ( $_SESSION['Typ'] ) )
{
	$_SESSION['Typ'] = $_POST['Typ'];
}

Übergabe der Daten:

PHP:
 //Session

session_start ();

($_POST['Typ'] = ($_SESSION($_POST['Typ'])));

Muss ich eigentlich bei Absenden nochmal eine Session machen? Da die Variabeln schon existieren:

PHP:
/* E-Mail Variabeln */

 $Typ = ($_POST['Typ']);
 $Brennstoffeinheit = ($_POST['Brennstoffeinheit']);
 $Brennstoffderzeit = ($_POST['Brennstoffderzeit']);
 $Art = ($_POST['Art']);
 $Alter = ($_POST['Alter']);
 $Leistung = ($_POST['Leistung']);
 $Stromverbrauch = ($_POST['Stromverbrauch']);
 $Stromverbrauchseinheit = ($_POST['Stromverbrauchseinheit']);
 $Arbeitspreis = ($_POST['Arbeitspreis']);
 $Brennstoffverbrauch = ($_POST['Brennstoffverbrauch']);
 $Flaeche = ($_POST['Flaeche']);
 $Sanierung = ($_POST['Sanierung']);
 $Baujahr = ($_POST['Baujahr']);
 $Anrede = ($_POST['Anrede']);
 $Vorname = ($_POST['Vorname']);
 $Nachname = ($_POST['Nachname']);
 $Strasse = ($_POST['Strasse']);
 $Hausnummer = ($_POST['Hausnummer']);
 $Postleitzahl = ($_POST['PLZ']);
 $Wohnort = ($_POST['Wohnort']);
 $Mail = ($_POST['Mail']);
 $Agb = ($_POST['Agb']);

und der body Tag

OK, habs so hinbekommen ($_POST['Typ'] = ($_SESSION['Typ']));

Vielen Dank für eure Hilfe :)
 
Zuletzt bearbeitet:
Das mit echo war nur ein Test ;)
Das beantwortet die Frage nicht...
PHP:
       // Abfrage, ob die Variable Typ existiert
if ( ! isset ( $_SESSION['Typ'] ) )
{
	$_SESSION['Typ'] = $_POST['Typ'];
}
Angenommen, das wird zweimal gemacht?
Den Wert beim zweiten Mal einfach ignorieren?
Deine Seite sollte nicht nur beim ersten Mal funktionieren.
PHP:
session_start ();

($_POST['Typ'] = ($_SESSION($_POST['Typ'])));
Ganz falsch.
Das hat, wenn überhaupt, nur funktioniert, weil in der Variable Typ auch der Wert Typ war.
Was total sinnlos ist und in der Praxis nicht passiert.

Außerdem heißt es $_SESSION[...]. Eckige Klammern.
Und die ganze Zuweisung einklammern ist unnötig.
Und _POST ist nicht zum reinschreiben. Da drin stehen die Werte vom Formular.

...ja?
 
Bitte, lies dir 1-2 Bücher über PHP Grundlagen durch, oder suche dir online Tutorials. Denn, nimm es mir nicht übel, aber das was du hier machst sieht eher nach zusammen kopiere aus, mit hier und da ein paar Änderungen ohne einen wirklichen Plan was du da eigentlich machst. Es tut echt weh den Code zu lesen, weil da wirklich ordentlihe Fehler drinhocken. Du tust Dir damit nur einen gefallen wenn du dir die Basics mal richtig aneignest.
 
Bitte, lies dir 1-2 Bücher über PHP Grundlagen durch, oder suche dir online Tutorials. Denn, nimm es mir nicht übel, aber das was du hier machst sieht eher nach zusammen kopiere aus, mit hier und da ein paar Änderungen ohne einen wirklichen Plan was du da eigentlich machst. Es tut echt weh den Code zu lesen, weil da wirklich ordentlihe Fehler drinhocken. Du tust Dir damit nur einen gefallen wenn du dir die Basics mal richtig aneignest.

Hab doch am Anfang schon geschrieben, dass ich noch nie mit Session gearbeitet habe und alles auf einmal zu wissen ist unmöglich ;)

Mit freundlichen Grüßen

Christian
 
Die Wissenslücken haben mit Sessions nicht viel zu tun.
Es würde dir wirklich helfen, ein Buch gründlich durchzuarbeiten.
 
Es geht hier nicht um Sessions sondern um deinen Code allgemein. Niemand weiß alles, und eine Programmiersprache zu lernen dauert. Umso wichtiger ist es aber, das man die Grundlagen kennt und beherrscht, und das fängt schon bei Variablen und Arrays an (letztendlich ist eine Session nichts anderes).
 
Zurück