Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] fehler im Loginscript - Funktion bleiben (https://www.gegen-bilderklau.net/thread.php?threadid=164621)


Geschrieben von Startpost-Retter am 12.11.2009 um 21:35:

  fehler im Loginscript - Funktion bleiben

Halli hallo. Ich bins mal wieder. Habe folgendes Problem und zwar geht es dieses mal um mein Loginscript Zunge raus

wenn ich die Funktion bleiben nicht aktiviert hab, kann man im Forum nicht richtig posten bzw der Username wird nicht angezeigt, folglich auch kein Eintrag des Usernamens in der Datenbank. Auch die Antwortenfunktion verschwindet dann. Wer das ganze Austesten will:
www.astronomy-domine.com/forum.php
benutzername test
passwort test

login.php:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
<?php
    session_start();
    include("db.php"); include("functions.inc.php");
    if(exist("users WHERE name = '".umbruch($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."' AND status = '1'") && anzahl("users_login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = '0' AND timestamp > '".(time()-60*30)."'") < 4) {
        $_SESSION["login"] = value("users WHERE name = '".umbruch($_REQUEST["name"])."' AND passwort = '".md5($_REQUEST["passwort"])."' AND status = '1'","id");
        if($_REQUEST["bleiben"] == "1") {
            setcookie("webvids_name",umbruch($_REQUEST["name"]),(time()+60*60*24*14));
            setcookie("webvids_passwort",md5($_REQUEST["passwort"]),(time()+60*60*24*14));
        }
        mysql_query("INSERT INTO users_login (name, ip, timestamp, erfolgreich) VALUES ('".umbruch($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', '1')");
        header("Location: index.php");
    } else {
        mysql_query("INSERT INTO users_login (name, ip, timestamp, erfolgreich) VALUES ('".umbruch($_REQUEST["name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', '0')");
        if(anzahl("users_login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = '0' AND timestamp > '".(time()-60*30)."'") >= 4) {
            header("Location: login_fehler.php?fehler=1");
        } else {
            header("Location: login_fehler.php?fehler=2");
        }
    }
?>


header.php wo das Formular eingebaut is
php:
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:
<?php
    session_start();
    include("db.php");
    include("functions.inc.php");
    if(!isset($_SESSION["login"]) && isset($_COOKIE["webvids_name"])) {
        if(exist("users WHERE name = '".umbruch($_COOKIE["webvids_name"])."' AND passwort = '".umbruch($_COOKIE["webvids_passwort"])."' AND status = '1'") && anzahl("users_login WHERE ip = '".getenv("REMOTE_ADDR")."' AND erfolgreich = '0' AND timestamp > '".(time()-60*30)."'") < 4) {
            $_SESSION["login"] = value("users WHERE name = '".umbruch($_COOKIE["webvids_name"])."' AND passwort = '".umbruch($_COOKIE["webvids_passwort"])."' AND status = '1'","id");
            mysql_query("INSERT INTO users_login (name, ip, timestamp, erfolgreich) VALUES ('".umbruch($_COOKIE["webvids_name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', '1')");
        } else {
            mysql_query("INSERT INTO users_login (name, ip, timestamp, erfolgreich) VALUES ('".umbruch($_COOKIE["webvids_name"])."', '".getenv("REMOTE_ADDR")."', '".time()."', '0')");
        }
    }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
    <head>
        <title>Astronomy-Domine.com - Beste Ansicht mit Internet Explorer 7!</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
        <div id="container">
            <div id="inhalt">
                <div class="rand">
                    <div id="kasten">
                        <div class="rand">
                            <?php if(!isset($_SESSION["login"])) { ?> 
                            
<form action="login.php" method="post">
<table width="192" cellpadding="0" cellspacing="0" height="43">
<tr>
<td width="75" height="22"><label for="name">Name:</label></td>
<td align="right" width="119" height="22">
<input name="name" id="name" size="15" style="float: left" /></td>
</tr>
<tr>
<td width="75" height="22"><label for="passwort">PW:</label></td>
<td align="right" dir="ltr" width="119" height="22">
<input type="password" name="passwort" id="passwort" size="15" style="float: left" /></td>
</tr>
<tr>
<td width="75" height="1"><label for="bleiben">Bleiben?</label> <input type="checkbox" name="bleiben" value="1" /></td>
<td align="right" width="119" height="1">
<input type="submit" value="Login" style="float: left" /></td>
</tr>
</table>
</form>
            



Geschrieben von Julia712 am 14.11.2009 um 11:25:

 

Hey Freude

Also, so ganz blicke ich auch nicht durch.
Vor allem, weil ich nicht weiß, was du im Forum abfragst Augenzwinkern

Das einzige, was ich mir vorstellen kann, ist, dass du im Forum den usernamen nach dem Cookie abfragst, da du den ja dort gespeichert hast.
Allerdings setzt du das Cookie ja nur dann, wenn bleiben angehakt ist. Ist bleiben nicht angehakt, wird kein Cookie gesetzt.

In beiden Fällen trägst du zwar etwas in die Datenbank in die Tabelle users_login ein, aber hier kannst du ja später (außer du hantierst mit den IPs rum), nicht mehr nachvollziehen, welcher Eintrag zu welchem User gehört...


Lg, Julia



Geschrieben von Julia712 am 14.11.2009 um 14:22:

 

Auha großes Grinsen
Setz die Cookies einfach mal mit 'ner Zeitbegrenzung, wenn bleiben nicht angehakt ist. (Gleiche Cookies, nur halt mit Zeitbegrenzung)
Wenn es daran liegt, funktioniert es dann smile

Falls nicht, kannst du mir die Forensachen immer noch mal schicken smile


Lg, Julia


Forensoftware: Burning Board, entwickelt von WoltLab GmbH