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
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
Alles anzeigen
Ordner/Ordner/index.php
Spoiler anzeigen
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
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

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
PHP-Quellcode
- <?php
- session_start();
- if ($_SERVER['REQUEST_METHOD'] == 'POST')
- {
- mysql_connect($host, $user, $pass);
- mysql_select_db($dbase);
- $Benutzername = mysql_real_escape_string($_POST['benutzername']);
- $Passwort = mysql_real_escape_string($_POST['passwort']);
- $result = mysql_query("SELECT * FROM User_Daten WHERE Benutzername='" . $Benutzername . " '");
- $row = mysql_fetch_row($result);
- if ($row)
- {
- $Dbmd5Passwort = $row[1];
- if (md5($Passwort) == $Dbmd5Passwort)
- {
- $result = mysql_query("SELECT * FROM User_Daten WHERE Benutzername='" . $Benutzername . " ' AND Zugriff='" . 1 . " '");
- $row = mysql_fetch_row($result);
- if ($row)
- {
- $_SESSION['angemeldet'] = 1;
- $_SESSION['userzugriff'] = 1;
- echo '<table id="Message">';
- echo '<td class="pwtextborder2">';
- echo '<div align="center" id="pwtext"><b>Zugriff erteilt!</b></div>';
- echo '</td></table>';
- }
- else
- {
- $_SESSION['angemeldet'] = 1;
- $_SESSION['userzugriff'] = 0;
- echo '<table id="Message">';
- echo '<td class="pwtextborder">';
- echo '<div align="center" id="pwtext"><b>Zugriff verweigert!</b></div>';
- echo '</td></table>';
- }
- }
- else
- {
- echo '<table id="Message">';
- echo '<td class="pwtextborder">';
- echo '<div align="center" id="pwtext"><b>Das Passwort ist falsch!</b></div>';
- echo '</td></table>';
- }
- }
- else
- {
- echo '<table id="Message">';
- echo '<td class="pwtextborder">';
- echo '<div align="center" id="pwtext"><b>Der Benutzername ist nicht vorhanden!</b></div>';
- echo '</td></table>';
- }
- }
- ?>
- <?php
- session_start();
- if ($_SESSION['angemeldet'] == 0)
- {
- echo '<h1>Einloggen:</h1>';
- echo '<form action="" method="post">';
- echo 'Benutzername: <div id="pw"><input type="text" name="benutzername"></div><br>';
- echo 'Passwort: <div id="pw"><input type="password" name="passwort"></div>';
- echo '<p><input type="submit" name="submit" value="Abschicken"></p>';
- echo 'Registrieren: <a href="http://jungeyoutuber.bplaced.net/register.php">Hier</a>';
- echo '</form>';
- }
- if (isset($_SESSION['angemeldet']) || $_SESSION['angemeldet'] == 1)
- {
- if ($_SESSION['userzugriff'] == 1)
- {
- echo 'Angemeldet als: Admin';
- echo '<p>Angemeldet:'.$_SESSION['angemeldet'];
- echo '<p>Zugriff:'.$_SESSION['userzugriff'];
- echo '</p>';
- echo '<div id="logout"><a href="http://jungeyoutuber.bplaced.net/logout.php">Ausloggen</a></div>';
- }
- if ($_SESSION['userzugriff'] == 0)
- {
- echo 'Angemeldet als: User';
- echo '<p>Angemeldet:'.$_SESSION['angemeldet'];
- echo '<p>Zugriff:'.$_SESSION['userzugriff'];
- echo '</p>';
- echo '<div id="logout"><a href="http://jungeyoutuber.bplaced.net/logout.php">Ausloggen</a></div>';
- }
- }
- ?>
Ordner/Ordner/index.php
PHP-Quellcode
- <?php
- session_start();
- if ($_SESSION['angemeldet'] == 0)
- {
- //Code
- }
- if (isset($_SESSION['angemeldet']) || $_SESSION['angemeldet'] == 1)
- {
- if ($_SESSION['userzugriff'] == 1)
- {
- //Code
- }
- if ($_SESSION['userzugriff'] == 0)
- {
- //Code
- }
- }
- echo '<p>Angemeldet: '.$_SESSION['angemeldet'];
- echo '<p>Zugriff: '.$_SESSION['userzugriff'];
- echo '</p>';
- exit;
- ?>
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 ()