|
bluefirex
Betriebsnudel |
Hallo,
ich nutze voller Begeisterung die Foren-Software und würde gerne dessen Login-Script mit meinem vereinen, bzw. mein altes rauswerfen und dieses verwenden. Jetzt müsste ich nur wissen, welchen Session-Namen ($_SESSION) das System verwendet. Ich konnte leider immer nur $_SESSION[$this->session] finden. Meine F5-Taste ist wieder aus dem Urlaub da. Jetzt hat "<" und "?" Urlaub :(
|
|
Goeran_E
Administrator |
Dieser Code ist die minimal Voraussetzung eines Loginformulars:
Code: <!-- HEADER EINBINDEN (WICHTIG) --> <?php include('template/header.php'); ?> <!-- FEHLERBEHANDLUNG --> <?php if ($error): ?> <?php if ($error == 1): ?> This combination of username and password is not valid <?php elseif ($error == 2): ?> Du wurdest erfolgreich ausgeloggt - Du warst <?php echo $time; ?> Minute<?php if ($time != 1): ?>n<?php endif; ?> online - Es ist <?php echo $time_hi; ?> Uhr. <?php elseif ($error == 3): ?> Logge dich ein, um diese Seite zu sehen <?php endif; ?> <?php endif; ?> <!-- LOGIN-FORMULAR --> <form action="login.php" method="post"> <table align="center" cellpadding="5" cellspacing="0"> <tr> <td>Benutzername:</td> <td><input size="25" type="text" name="username" /></td> </tr> <tr> <td>Passwort:</td> <td><input size="25" type="password" name="password" /></td> </tr> <tr> <td></td> <td><input type="checkbox" id="merke" name="merke" /> <label for="merke">An mich erinnern</label></td> </tr> <tr> <td></td> <td><input type="submit" class="button" value="Login" /><br /><br /><a href="password.php">Passwort vergessen?</a><br /><b><a href="register.php">Werde Mitglied !</a></b></td> </tr> </table> <input type="hidden" name="redirect" value="<?php echo $redirect; ?>" /> </form> <!-- FOOTER EINBINDEN (OPTIONAL) --> <?php include('template/footer.php'); ?> Zum Benutzen der Session etc. reicht diese Abfrage: Code: if (!$user->row['user_id']) { login_box(); } Korrigiert mich, falls ich falsch liegen sollte. No one cares about God. They all just wanna roll with his kid Jesus.
|
|
Patrick_W
Administrator |
Hallo bluefirex,
der Sessionname ist am anfang der Datei includes/user.php definiert. Entweder $session = 'sessonanme'; oder $this->session = 'sessionname'; Vielleicht ist der prefix noch davor gesetzt. |
|
bluefirex
Betriebsnudel |
Also. Eigentlich wollte ich nur mithilfe von if() abfragen, ob man eingeloggt ist. Ich kenne das normal nur mit if(isset($_SESSION['sessionname'])) {
Mithilfe des in der user.php festgelegten Namen komm ich aber nicht weiter und ich wollte ja nicht gleich meine ganze Website dafür ändern müssen (wegen header.php). Meine F5-Taste ist wieder aus dem Urlaub da. Jetzt hat "<" und "?" Urlaub :(
|
|
Patrick_W
Administrator |
$_SESSION['forum_user_id'] ist die Session in der die user_id gespeichert wird.
Zweite möglichkeit: Code: <?php include('base.php'); if ($user->row['user_id']) { echo 'Hallo ' . $user->row['username']; } ?> |
|
bluefirex
Betriebsnudel |
Resultat der ersten Möglichkeit:
- Es passiert nichts, egal ob eingeloggt oder nicht (ich will dann einfach nur das Loginformular ausblenden, also bildhaft wenn eingeloggt, zeige kein formular) Resultat der zweiten Möglichkeit: Zitat: Warning: Cannot modify header information - headers already sent by (output started at D:\www\htdocs\ver9\index.php:31) in D:\www\htdocs\ver9\forum\base.php on line 33 Notice: A session had already been started - ignoring session_start() in D:\www\htdocs\ver9\forum\includes\user.php on line 22 Meine F5-Taste ist wieder aus dem Urlaub da. Jetzt hat "<" und "?" Urlaub :(
|
|
Patrick_W
Administrator |
Mach das session_start() aus Zeile 22 raus.
|
| 6 Beiträge | Beitrag schreiben |