Array über mehrere Seiten

taurin

Erfahrenes Mitglied
Hi, ich habe mal wieder ein Problem. Es geht darum, das ich ein Array über mehrere Seiten hinweg befüllen und mitübergeben will.
PHP:
if($_SESSION['id'] != $userID){
	if(!in_array($userID, $_SESSION['profil_array'])){
		$nutzer = $rows['visit']+1;
		$up = $dbh->prepare("UPDATE ".$dbpf."profil SET visit = ? WHERE id = ?");
		$up->bindParam(1, $nutzer, PDO::PARAM_INT);
		$up->bindParam(2, $userID, PDO::PARAM_INT);
		$up->execute();
		$array[] = $userID;
		$_SESSION['profil_array'] = $array;
	}else $nutzer = $rows['visit'];
}else $nutzer = $rows['visit'];
Das Problem hierbei ist jetzt, das der Wert wohl gespeichert wird, allerdings nur einer. Dieser wird auf jeder Seite wieder überschrieben. Wie kann ich das jetzt lösen, das auf jeder Seite die userid in das Array geschrieben wird und wenn sie schon drin ist, halt nur ausgeben?
lg
 
Prüfe mit [phpf]isset[/phpf], ob die Variable schon gesetzt ist:
PHP:
if ( isset($_SESSION['profil_array']) )
{
  /* ausgeben */
}
else
{
  /* aus Datenbank holen & speichern */
}
 
Habe es hinbekommen. Habe einfach mal versucht eine $_SESSION als array zu missbrauchen, hat geklappt^^ hätt ich nicht gedacht.
lg
 
Soweit ich weiß ist doch $_SESSION ein (assoziatives) Array.

Könntest du bitte für andere Suchende den Code posten?
 
Klar kann ich gern machen^^
PHP:
if($_SESSION['id'] != $userID){
	if(!in_array($userID, $_SESSION['profil_array'])){
		$nutzer = $rows['visit']+1;
		$up = $dbh->prepare("UPDATE ".$dbpf."profil SET visit = ? WHERE id = ?");
		$up->bindParam(1, $nutzer, PDO::PARAM_INT);
		$up->bindParam(2, $userID, PDO::PARAM_INT);
		$up->execute();
		$_SESSION['profil_array'][] = $userID; // hier habe ich einfach [] angehangen uns somit funktionierts wie mit einem normalen Array
	}else $nutzer = $rows['visit'];
}else $nutzer = $rows['visit'];
 
Zurück