Ein Array in einer Sitzung speichern?

Hallo
Ich habe eine Formular mit denen ich String eingebe und auf ein Button drücke. Beim Drücken wird eine addAlbum funktion aus einer anderen Datei aufgerufen.
Diese addAlbum Funktion tut den Paramter in ein Array rein. Direkt nach dem add möchte ich die getAlbumList aufrufen und dann mit einer forEach Schleife durch den Array laufen und alles ausgeben.
Leider überschreibt er bei jedem addAlbum den kompletten Array. So das da nur ein element drinne ist. Kann ich das irgendwie erreichen das ich in mein Array mehrere elemente speichern kann mit der AddAlbum Funktion?

<?php session_start();

$myAlbumList = [];

 function addAlbum($album){
    
  global $myAlbumList;
  $myAlbumList.array_push($myAlbumList, $album);
}


function getAlbumList(){
    global $myAlbumList;
    return $myAlbumList;
}

Du dolltest lieber mal OOP lernen…

Es reicht nicht, die Session nur zu starten. Man muss sie auch verwenden. In diesem Fall musst Du den Array auch aus der Session holen. So wie Du es jetzt machst, wird er ja im Script jedes mal neu initialisiert.

In etwa könnte das so aussehen:

$myAlbumList;
if(isset($_SESSION['myAlbumList'])) {
  $myAlbumList = $_SESSION['myAlbumList'];
}
else {
  $myAlbumList = [];
  $_SESSION['myAlbumList'] = $myAlbumList;  
}

 

In JavaEE geht das, in dem man sich ein HTTPSession-Objekt besorgt und an dieses die zu merkenden Attribute (z. B. Listen-Typ) hängt, um sie bei weiteren Anfragen ergänzen bzw. bearbeiten zu können.

In PHP geht das mit der SESSION[…] (Array-Variable).
Mehr dazu auch hier: PHP-Einfach.de - PHP Tutorial - PHP Session

Ok, da war ich kurz zu Vorlaut. Ernste Frage, mit welchen antiquierten Tutorial lernst du bitte PHP? Die Quelle dessen ist nicht gerade sehr gut… Denn wie du da mit functions und globals arbeitest, is es IMHO wie man objektorientiert mit einer Klasse arbeiten kann.