bluefirex
Betriebsnudel
- 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.

Meine F5-Taste ist wieder aus dem Urlaub da. Jetzt hat "<" und "?" Urlaub :(
Goeran_E
Administrator
- 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.

No one cares about God. They all just wanna roll with his kid Jesus.
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.

bluefirex
Betriebsnudel
- 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).

Meine F5-Taste ist wieder aus dem Urlaub da. Jetzt hat "<" und "?" Urlaub :(
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'];
}

?>



bluefirex
Betriebsnudel
- 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


Meine F5-Taste ist wieder aus dem Urlaub da. Jetzt hat "<" und "?" Urlaub :(
Patrick_W
Administrator
- 29.06.10 20:37 Uhr
Mach das session_start() aus Zeile 22 raus.

6 Beiträge Beitrag schreiben
©2010 Itschi.Net