dedlfix: ich bin zu doof ;-(

Beitrag lesen

echo $begrueszung;

$inhalt[]="$_SESSION["nachname"]";

in dem du es einfach so schreibst
$inhalt[]="$_SESSION['nachname']";

Nur der Vollständigkeit halber:
Wie auch an Stefans Fehlermeldung zu sehen ist funktioniert diese Syntax nicht. Aber: alle Variablen-Schreibweisen, die etwas komplexer sind, lassen sich auch in ""-Zeichenketten angeben, wenn man sie in {} geschweifte Klammern einrahmt.

$inhalt[]="{$_SESSION['nachname']}";

Dann geht auch "{$var}text", also Text, der sich ohne Leerzeichen an einen Variable anschließen soll.

Natürlich ist es in den meisten Fällen unsinnig [1], eine Variable ohne weiteren Text drumherum in "" einzuschließen.

Und noch etwas eleganter ist sprintf()-Funktion (respektive printf() ). Dann sieht ein String nicht so zerhackstückt aus, als wenn er ständig durch Variablen und Funktionsaufrufe unterbrochen wird:

  
$sql = sprintf('SELECT `%s` FROM `%s` WHERE `%s` = "%s"',  
  $feldName,  
  getTableName(),  
  $feldName,  
  mysql_real_escape_string($_POST['foo']));  

dedlfix

[1] Als sinnvoll könnte ich mir noch eine erwünschte Umwandlung von einem Nicht-String-Typ in einen String-Typ vorstellen, dass kann man aber auch als Typumwandlung schreiben:
  $stringValue = (string) $intValue;
Dadurch tritt für nachfolgende Code-Leser sogar noch deutlicher die gewünschte Absicht des Autors zu Tage, finde ich.