Variablen "übertragen" mithilfe von Sessions

  • PHP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Variablen "übertragen" mithilfe von Sessions

    Hallo,

    vorher hatte ich ja schon ein Problem mit dem Registerscript, welches ich aber gut lösen konnte. Jetzt habe ich Probleme mit dem Loginscript bzw. mit "SESSION".
    Ich möchte gerne bestimmte Werte auf andere Seiten übertragen, ohne include oder require mithilfe von SESSIONS.

    Wenn ich mich als einlogge, werden die Zugriffsrechte überprüft: $_SESSION['userzugriff'] und es wird überprüft, ob man eingeloggt ist: $_SESSION['angemeldet'].
    Auf dieser Seite (login.php) klappt soweit auch alles - aber auf anderen Seiten klappt nur das mit "Angemeldet", alles andere ist kompletter Mist und ich finde den Fehler nicht.
    Ich saß bestimmt 12 Stunden mindestens dran, habe Fehlersuche rauf und runter gemacht, im Internet wie verrückt gesucht und hatte heute auch nur 2 Stunden Schlaf vor der Ausbildung, weil mir dieser Fehler keine Ruhe lässt.

    Auf einer anderen Seite ("Ordner/Ordner/index.php") wurde beispielsweise angezeigt "Angemeldet = 0" und "Zugriff = 1", obwohl ich zu dem Zeitpunkt die SESSION mit dem Zugriff aus dem Loginscript entfernt hatte - es exestierte also garkeine Zugriffsvaraible und dann frage ich mich, wie das Script trotzdem Zugriff = 1 wiedergeben konnte, das auch noch obwohl ich als normaler Benutzer eingeloggt war. Mal siehts so aus und mal anders, da wird man total verrückt :wacko:

    Ich hänge noch 3 Bilder an, einmal mit dem Adminaccount und dann noch mit dem normalen User Account, wo alles geklappt hat ( War aber auch auf der Loginseite und es wurden noch keine Variablen übertragen ). Das 3. Bild ist das vom anderen Verzeichnis, also Ordner/Ordner/index.php, wo kompletter Unsinn rauskam.
    Anschließend werde ich noch die Codes von den jeweiligen Scripten spoilern, damit ihr euch ein Bild davon machen könnt.

    Bilder

    User:


    Admin:


    Ordner/Ordner/index.php


    Codes

    login.php
    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. if ($_SERVER['REQUEST_METHOD'] == 'POST')
    4. {
    5. mysql_connect($host, $user, $pass);
    6. mysql_select_db($dbase);
    7. $Benutzername = mysql_real_escape_string($_POST['benutzername']);
    8. $Passwort = mysql_real_escape_string($_POST['passwort']);
    9. $result = mysql_query("SELECT * FROM User_Daten WHERE Benutzername='" . $Benutzername . " '");
    10. $row = mysql_fetch_row($result);
    11. if ($row)
    12. {
    13. $Dbmd5Passwort = $row[1];
    14. if (md5($Passwort) == $Dbmd5Passwort)
    15. {
    16. $result = mysql_query("SELECT * FROM User_Daten WHERE Benutzername='" . $Benutzername . " ' AND Zugriff='" . 1 . " '");
    17. $row = mysql_fetch_row($result);
    18. if ($row)
    19. {
    20. $_SESSION['angemeldet'] = 1;
    21. $_SESSION['userzugriff'] = 1;
    22. echo '<table id="Message">';
    23. echo '<td class="pwtextborder2">';
    24. echo '<div align="center" id="pwtext"><b>Zugriff erteilt!</b></div>';
    25. echo '</td></table>';
    26. }
    27. else
    28. {
    29. $_SESSION['angemeldet'] = 1;
    30. $_SESSION['userzugriff'] = 0;
    31. echo '<table id="Message">';
    32. echo '<td class="pwtextborder">';
    33. echo '<div align="center" id="pwtext"><b>Zugriff verweigert!</b></div>';
    34. echo '</td></table>';
    35. }
    36. }
    37. else
    38. {
    39. echo '<table id="Message">';
    40. echo '<td class="pwtextborder">';
    41. echo '<div align="center" id="pwtext"><b>Das Passwort ist falsch!</b></div>';
    42. echo '</td></table>';
    43. }
    44. }
    45. else
    46. {
    47. echo '<table id="Message">';
    48. echo '<td class="pwtextborder">';
    49. echo '<div align="center" id="pwtext"><b>Der Benutzername ist nicht vorhanden!</b></div>';
    50. echo '</td></table>';
    51. }
    52. }
    53. ?>
    54. <?php
    55. session_start();
    56. if ($_SESSION['angemeldet'] == 0)
    57. {
    58. echo '<h1>Einloggen:</h1>';
    59. echo '<form action="" method="post">';
    60. echo 'Benutzername: <div id="pw"><input type="text" name="benutzername"></div><br>';
    61. echo 'Passwort: <div id="pw"><input type="password" name="passwort"></div>';
    62. echo '<p><input type="submit" name="submit" value="Abschicken"></p>';
    63. echo 'Registrieren: <a href="http://jungeyoutuber.bplaced.net/register.php">Hier</a>';
    64. echo '</form>';
    65. }
    66. if (isset($_SESSION['angemeldet']) || $_SESSION['angemeldet'] == 1)
    67. {
    68. if ($_SESSION['userzugriff'] == 1)
    69. {
    70. echo 'Angemeldet als: Admin';
    71. echo '<p>Angemeldet:'.$_SESSION['angemeldet'];
    72. echo '<p>Zugriff:'.$_SESSION['userzugriff'];
    73. echo '</p>';
    74. echo '<div id="logout"><a href="http://jungeyoutuber.bplaced.net/logout.php">Ausloggen</a></div>';
    75. }
    76. if ($_SESSION['userzugriff'] == 0)
    77. {
    78. echo 'Angemeldet als: User';
    79. echo '<p>Angemeldet:'.$_SESSION['angemeldet'];
    80. echo '<p>Zugriff:'.$_SESSION['userzugriff'];
    81. echo '</p>';
    82. echo '<div id="logout"><a href="http://jungeyoutuber.bplaced.net/logout.php">Ausloggen</a></div>';
    83. }
    84. }
    85. ?>
    Alles anzeigen



    Ordner/Ordner/index.php
    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. session_start();
    3. if ($_SESSION['angemeldet'] == 0)
    4. {
    5. //Code
    6. }
    7. if (isset($_SESSION['angemeldet']) || $_SESSION['angemeldet'] == 1)
    8. {
    9. if ($_SESSION['userzugriff'] == 1)
    10. {
    11. //Code
    12. }
    13. if ($_SESSION['userzugriff'] == 0)
    14. {
    15. //Code
    16. }
    17. }
    18. echo '<p>Angemeldet: '.$_SESSION['angemeldet'];
    19. echo '<p>Zugriff: '.$_SESSION['userzugriff'];
    20. echo '</p>';
    21. exit;
    22. ?>
    Alles anzeigen



    Edit:
    Okay, ich habe inzwischen verstanden, dass man Sessions übertragen kann, wenn mann auf einen Link klickt und dass es nicht geht, wenn man manuell die URL beim Browser eingibt. Ich habe dazu nun eine passende Lösung gefunden, das Thema ist also erledigt!

    Liebe Grüße,
    icqgamer

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von icqgamer ()