You are not logged in.

wcf.regNote.message

ScHmErZ

Beginner

  • "ScHmErZ" started this thread

Posts: 4

  • Send private message

1

Thursday, April 3rd 2008, 11:09pm

Kleines Problem

Hey,
also ich habe folgendes Problem: Ich habe ein Loginscript für meine User gemacht und möchte dass wenn jemand eingelogt folgendes sieht:


PHP Source code

1
echo "<b>Hallo ".$_SESSION['user']."</b>";



Das klappt ja schonmal, jedoch weiß ich nicht wie man dann das Loginformular ausblenden lässt, wenn man sich schon eingelogt hat.

so sieht meine phpdatei aus

PHP Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
    die;
}
require("connect.inc.php");
?>
-----blablabla ^^ -----
    <tr>
        <td colspan="2" background="images/main2_03.gif">
        <?php echo "<b>Hey ".$_SESSION['user']."</b>"?>

----wenn man eingeloggt ist soll das ausgeblendet werden----------------------
        <form action="<?php $PHP_SELF ?>" method="post">
        Benutzername: <br />
        <input type="text" name="username" size="20" <?php if($_POST['username'] != "") {echo ' value="'.$_POST['username'].'"';} ?>>
        Passwort: <br />
        <input type="password" name="password" size="20" class="input">
        <br />
        <input type="submit" name="submit" value="Login" class="button">
        </form>
</td>
-----------------------------------------------------------------------------------

----blablabla ^^ ------

<?php
}elseif(!isset($_POST['username']) || $_POST['username'] == "") {
    echo '<p align="center">Du hast vergessen den Benutzernamen einzugeben!<br><br><a href="index.php">Zur&uuml;ck</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
    echo '<form action="index.php" method="post">';
    echo '<p align="center">>Du hast vergessen ein Passwort einzugeben!<br><br>';
    echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
    echo '<input type="submit" name="zurueck" value="Zur&uuml;ck">';
    echo '</p>';
    echo '</form>';
}else{
    $password md5($password);
    $query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Select ist fehlgeschlagen!');
    $result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index.php">Zur&uuml;ck</a></p>');
    if($password != $result['pass']){
        echo '<form action="index.php" method="post">';
        echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
        echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
        echo '<input type="submit" name="zurueck" value="Zur&uuml;ck"></p>';
        echo '</form>';
        die;
    }else{
        $user $result['user'];
        session_register('user');
        echo '<p align="center">Login erfolgreich.<br><br><a href="bla.php">Weiter</a></p>';
        ?>
        <script language="JavaScript">
        window.setTimeout('window.location.href="index.php"','3000')
        </script>
        <?php
    }
}
?>
</body>
</html>


wo ------blablabla---- habe ich unwichtige sachen weggemacht ^^


Danke schonmal für euere Antworten

MfG ScHmErZ

This post has been edited 1 times, last edit by "ScHmErZ" (Apr 3rd 2008, 11:13pm)


Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Friday, April 4th 2008, 12:25pm

Du musst um den teil der ausgeblendet werden soll einfach ne Abfrage machen die eben wahr oder unwahr ist je nachdem wann der Teil ausgeblendet werden soll. Das heißt wenn Du willst das der Teil nicht zu sehen ist wenn der User eingeloggt ist dann muss die Abfrage so lauten das "Wenn nicht eingeloggt dann" und dann den teil der dann angezeigt werden soll. Die Variablen dazu hast Du ja. Das heißt wenn der User sich einloggt überprüfst Du ja irgendwo Benutzername und Kennwort und wenn da richtig ist dann ist der User ja angemeldet. Und diesen Zustand kannst Du ja abfragen.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

ScHmErZ

Beginner

  • "ScHmErZ" started this thread

Posts: 4

  • Send private message

3

Friday, April 4th 2008, 12:53pm

Hi,
erstmal danke für deine Antwort. Jedoch komme ich nicht so ganz mit^^ Könntest du evt. ein Beispiel zeigen, wie der Quelltext aussehen soll? Wäre echt nett :dafuer:

Prometheus

Administrator

Posts: 3,278

  • Send private message

4

Friday, April 4th 2008, 12:57pm

Die schleife könnte so aussehen.

PHP Source code

1
2
3
4
5
if(isset($_SESSION['user'])) {
inhalt der gezeigt werden soll wenn der user eingelogt ist
} else {
inhalt der gezeigt werden soll wenn der user nicht eingelogt ist
}

Möglich das es Variablen gibt die besser geeignet sind und auch möglich, das die Variable die ich verwende nur genutzt werden kann, wenn der user sich auch ausloggt beim verlassen oder so. Musst mal bisl rum probieren.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

ScHmErZ

Beginner

  • "ScHmErZ" started this thread

Posts: 4

  • Send private message

5

Friday, April 4th 2008, 1:19pm

hm.... jetzt bekomme ich nur eine weiße Seite ... ?(

Prometheus

Administrator

Posts: 3,278

  • Send private message

6

Friday, April 4th 2008, 3:10pm

Setz an verschiedenen Stellen einfach mal paar echo befehle und lass Dir den Inhalt von Variablen ausgeben. So siehst Du recht schnell welche Variable mit welchem Inhalt gefüllt ist und kannst vielleicht so erklären warum eine Abfrage nicht funktioniert. Um genau sagen zu können was da nicht klappt müsste ich den gesamten Inhalt deines Quelltextes sehen und ich denke Dir wird es auch lieber sein wenn Du verstehst was falsch läuft anstatt das dir jemand das Ergebnis vor gibt.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

ScHmErZ

Beginner

  • "ScHmErZ" started this thread

Posts: 4

  • Send private message

7

Friday, April 4th 2008, 3:23pm

da hast du wohl recht ^^
ich habe jetzt ein bisschen rumgespielt und habe den Fehler ein bisschen eingegrenzt ^^ Wenn ich eingeloggt bin, dann scheint alles normal zu sein...jedoch wenn ich mich wieder auslogge kommt wieder eine weiße Seite...

PHP Source code

1
2
3
4
5
6
7
8
9
10
<?php
if(isset($_SESSION['user'])) {
echo "Hallo, ".$_SESSION['user']."";
echo '<br /><br />Jetzt bist du eingeloggt!<br />';
echo '<a href="logout.php">Logout</a></p>';
} else {
echo 'Du bist noch nicht eingeloggt!';
echo 'Bitte logge dich erst <a href="login.php">hier</a> ein!';
}
?>


Liegt das irgendwo daran oder muss ich woanders suchen?

Prometheus

Administrator

Posts: 3,278

  • Send private message

8

Friday, April 4th 2008, 5:45pm

Mach mal bei den Routine die Du hast für das Ausloggen ein unset der Variable $_SESSION['user'] damit die nach dem Ausloggen auch garantiert nicht gesetzt ist. Ich meine es gibt auch einen Befehl um die gesamte Session komplett zu entfernen also alle Session Variablen auf einen Schlag zu löschen. Das Problem liegt jedenfalls nicht an dieser Abfrage wobei ich mir grade nicht ganz erkleren kann wieso ein weißer Bildschirm kommt.
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

wcf.user.socialbookmarks.titel