Session Daten richtig auslesen....

maga147

Erfahrenes Mitglied
Hi,

hab ein kleines Problem mit der Auslesung von Session Daten.

Ich will über folgendes Script die Daten auslesen.

PHP:
<?php

session_start();


if(!isset($_SESSION["Nachname"]))

   {

   echo "Hallo Gast";

   }

   else
   
   echo "Hallo $_SESSION["Vorname"]"; 
   

?>

Aber in der Zeile

PHP:
   echo "Hallo $_SESSION["Vorname"]";

bekomme ich immer folgende Fehlermeldung:

Code:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or T_NUM_STRING' in /srv/www/htdocs/web43/html/test.php on line 16

Wie kann ich die Ausgabe der Session richtig machen

hab die Zeile mal in diese umgeändert

PHP:
   echo "Hallo"; echo $_SESSION["Nachname"];

und da würde es auch funktionieren, aber ich finde das wird zu kompliziert wenn man da mit mehereren Session Daten und Text arbietet.

Danke für eure Hilfe
 
Elementare PHP-Kenntnisse, Teil 1

Wenn PHP ein Zollzeichen (") in deinem Code findet, dann beginnt es, den nachfolgenden Text als String zu interpretieren. Wenn es wieder eins findet, ist der String vorbei. Was es jetzt also mit folgendem Code macht:
PHP:
echo "Hallo $_SESSION["Vorname"]";
Es geht von Hallo bis zur öffnenden eckigen Klammer – dann ist der String fertig. Jetzt steht da aber Vorname – logischerweise weiss PHP nicht, was es damit anfangen soll, denn PHP hat kein Schlüsselwort Vorname, und du hast auch keine Konstante mit diesem Namen definiert. Was du also machen musst:

Entweder so:
PHP:
echo "Hallo ".$_SESSION["Vorname"];
Oder so:
PHP:
echo "Hallo $_SESSION['Vorname']";
 
Da bleibt Dir noch der Verknüpfungsoperator:
PHP:
echo "Hallo ". $_SESSION["Nachname"];
Außerdem [phpf]sprintf[/phpf] oder eine eigene kleine Mini-Tamplate-Funktion mit [phpf]str_replace[/phpf].
Es gibt so viele Möglichkeiten, einen String auszugeben.
Dein Beispiel kann man auch in 2 Zeilen schreiben und schon ist es übersichtlich.
So ganz sehe ich Dein Problem damit auch nicht, schließlich ist es ganz normale Syntax eines PHP-Programms, welche für jeden PHP-Programmierer klar und verständlich und in keiner Weise kompliziert ist.

Gruß hpvw

EDIT:
SilentWarrior hat gesagt.:
...und du hast auch keine Konstante mit diesem Namen definiert.
Womit immer noch der Punkt/die Punkte fehlen würde(n).
 
Zuletzt bearbeitet:
danke, das problem hat sich gelöst!

Habe das mit der

PHP:
echo "Hallo ".$_SESSION["Vorname"];

eingesetzt und dann hat es funktionert.
 
Zurück