User Weiche mit MySQL Datenbank

Das ist unsinnig. Du leitest zu einer anderen Seite weiter, nur um dort auch wieder weiter zu leiten. Außerdem wird die Weiterleitungsseite nicht in die Session geschrieben. Da müsste noch in den if-Block für den erfolgreichen Login zwei Zeilen rein wie

PHP:
$r = mysql_fetch_object($result);
$_SESSION['user_notes'] = $r->name_der_spalte_fuer_die_weiterleitung_aus_userlogin;

Dann musst du deinen Query für den Select noch um die Spalte "weiterleitung" erweitern:

PHP:
$loginsql = "SELECT user, pw, weiterleitung FROM userlogin
WHERE user='$user' AND pw='$pw'";
 
Sorry,
du hast da etwas falsch verstanden, ich will dass sie zuerst alle auf die gleiche Seite kommen, dann erst bei nur einem Menüpunkt auf die seite weiche.php

und das mit der variable $r verstehe ich nicht ganz...
 
$r ist der eigentliche Datensatz. $result ist ja nur die Menge aller Ergebnisse. Um an die eigentlichen Daten zu kommen, muss man eine mysql_fetch*-Funktion aufrufen, und dieser die Ergebnismenge übergeben. Dann bekommt man einen reellen Datensatz zurück. Diesen kann man dann entweder als Array oder als Objekt behandeln. Die Elemente im Array (bspw. $r['user']) oder die Member-Properties des Objekts (bspw. $r->user) spiegeln dann die Spalten wieder, die man mit dem Select ausgewählt hat.
 
In der eingeloggt.php schreibst du

PHP:
$_SESSION['user_notes'] = $r->notes;

in der weiche.php greifst du aber auf

PHP:
header("Location: ".$_SESSION['userlogin_notes']);

zu. Eines von beiden müsstest du anpassen. Sie müssen beide gleich heißen.

Edit: Achja, hast du eigentlich in der eingeloggt.php auch ganz oben session_start() eingebaut? Das wäre nämlich auch noch ein Grund, warum es nicht funktioniert.
 
So, nun mal langsam:

1. Du musst die Session mittels session_start() initialisieren, sonst kannst du keine Werte darin abspeichern. Daher rufst du in der ersten Zeile der eingeloggt.php sowie weiche.php diese Funktion auf.

2. Beim erfolgreichen Einloggen speicherst du die Weiterleitungsseite aus der userlogin Tabelle in die Session, weil du sie sonst nicht in der weiche.php benutzen kannst. Diese Zeile in der eingeloggt.php musst du löschen:

PHP:
$loginsql = "SELECT user, pw, notes FROM userlogin
WHERE user='$user' AND pw='$pw'";
$_SESSION['user_notes'] = $row['notes']; // raus damit!

3. Du holst aus dem Datensatz, der den eingeloggten User und andere Informationen enthält die Weiterleitungsseite und speicherst sie in der Session ab:

PHP:
    if (mysql_num_rows($result) == 1) {
        $r = mysql_fetch_object($result);
        $_SESSION['user_notes'] = $r->notes;  // Hier wird die Weiterleitungsseite für weiche.php in der Session abgelegt

4. In der weiche.php greifst du dann auf die in der Session gespeicherte Weiterleitungseite zu:

PHP:
//  header("Location: ".$_SESSION['userlogin_notes']);  // <<< das ist falsch, die Session beinhaltet user_notes
header("Location: ".$_SESSION['user_notes']);  // Das hier ist richtig

5. Wenn das immer noch nicht funktionieren sollte machst du mal nach dem header-Aufruf:

PHP:
header("Location: ".$_SESSION['user_notes']);

echo "Meine Session beinhaltet folgende Variablen und Werte<pre>";
var_dump($_SESSION);
echo "</pre>";
 
Zurück