Offtopic
palicora Mh das sind ja dürftige Infos?...
Nicht eingeloggt

Registrieren
Login

Abgemeldet
- 26.06.10 22:07 Uhr
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.

goeran
Ehrenmitglied

- 27.06.10 22:08 Uhr
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.

Patrick_W
Administrator

- 28.06.10 09:44 Uhr
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.


Abgemeldet
- 29.06.10 15:36 Uhr
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).

Patrick_W
Administrator

- 29.06.10 15:58 Uhr
$_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'];
}

?>



Abgemeldet
- 29.06.10 17:31 Uhr
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


Patrick_W
Administrator

- 29.06.10 20:37 Uhr
Mach das session_start() aus Zeile 22 raus.




©2011 Itschi.Net