Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26
  1. #1
    Capt'n Crunch Avatar von Mac_Hack
    Registriert seit
    09.07.2008
    Beiträge
    936

    Standard Login Script funktioniert nicht richtig

    Hallo Jungs,

    Ich habe Probleme mit einem Login Script.
    Das Script sollte überprüft, ob man eingeloggt ist und ruft dann die benötigten user-daten ab.
    Jedoch Funktioniert das einloggen nicht richtig bzw gar nicht.
    Könnte sich jemand von euch das Script unter die Lupe nehmen und mir bitte helfen?
    Vielen Dank!


    Hier die Paste...
    Newroots Nopaste

    Hier der Code...

    Code:
    // User Login/Logout überprüfen und Daten, Rechte abrufen
    $user_module = null;
    if ((int)$_GET['logout'] == "1")
        {
        $safe = mysql_query("DELETE FROM __safe WHERE cid='".$_COOKIE[md5('fb_cid')]."' OR sid='".$_SESSION['fb_sid']."' LIMIT 1");
        $safe = mysql_query("SELECT id FROM __safe WHERE cid='".$_COOKIE[md5('fb_cid')]."' OR sid='".$_SESSION['fb_sid']."' LIMIT 1");
        $sql = mysql_query("UPDATE __user SET _safe='' WHERE _safe='".$sql['id']."' LIMIT 1");
        unset($_COOKIE[md5('fb_cid')]);
        unset($_SESSION['fb_sid']);
        session_destroy();
        if ($sql && $safe)
            $user_module = 'Erfolgreich ausgeloggt';
        }
    
    if (isset($_COOKIE[md5('fb_cid')]) || isset($_SESSION['fb_cid']))
    {
        $cid = $_COOKIE[md5('fb_cid')];
        $sid = $_SESSION['fb_sid'];
        $safe = mysql_query("SELECT id FROM __safe WHERE cid='".$cid."' OR sid='".$sid."'");
        $sql_safe = mysql_fetch_assoc($safe);
        $log = mysql_query("SELECT id, name, pw, _safe FROM __user WHERE _safe = '".$sql_safe['id']."' LIMIT 1");
        $user = mysql_fetch_assoc($log);
        $rows = mysql_num_rows($log);
        if ($log && $user && $rows) $logged = true;
    } else if ($_POST['user'] != "" && $_POST['pw'] != "")
    {
        $name = mysql_real_escape_string($_POST['user']);
        $pw = sha1($name.':'.md5($_POST['pw']));
        $log = mysql_query("SELECT id, name, pw, _safe FROM __user WHERE name = '".$name."' AND pw = '".$pw."' LIMIT 1");
        $user = mysql_fetch_assoc($log);
        $rows = mysql_num_rows($log);
        if ($log && $user && $rows) $logged = true;
    }
    if ( $logged == true && !isset($_GET['logout']))
    {
        $cid = null;
        for ($x = 0; $x < 15; $x++)
        {
        $cid .= rand(0,25);
        if ($x == 8)
                $sid = md5($rnd);
        }
        $cid = md5($rnd);
    
        $time = mysql_query("UPDATE __user SET time='".time()."' WHERE id='".$user['id']."'");
    
        $_SESSION['fb_sid'] = $sid;
        $sid = mysql_query("UPDATE __safe SET sid='".$sid."' WHERE id='".$user['_safe']."'");
    
        if ((int)$_POST['remind'] == 1)
            {
            setcookie(md5("cid"),$rnd,time()+(3600*24*7));
            $cid = mysql_query("UPDATE __safe SET cid='".$rnd."' WHERE id='".$user['_safe']."'");
            }
    
        $recht = mysql_fetch_assoc(mysql_query("SELECT * FROM __recht WHERE id='".$user['rid']."'"));
    
        if (isset($_POST['user']) && isset($_POST['pw']))
            $user_module = 'Erfolgreich eingeloggt';
    
        $user_module .= "Hallo ".$user['name'];
        if ($recht['view_admincenter'] == "1")
            $user_module .= '<ul id="nav"><li><a href="?p=admin">Admin-Bereich</a></li></ul>';
    }
    else
        {
        $user_module .=
            '<form action="#" method="post" id="login">
                <input type="text" name="user" id="user" value="Name" onfocus="if (this.value == \'Name\') { this.value = \'\'; this.style.fontStyle = \'normal\'; }" onblur="if (this.value == \'\') { this.value=\'Name\'; this.style.fontStyle = \'italic\'; }" />
                <input type="text" name="pw" id="pw" value="Pass" onfocus="if (this.value == \'Pass\' && this.type == \'text\') { this.value = \'\'; this.type = \'password\'; this.style.fontStyle = \'normal\'; }" onblur="if (this.value == \'\' && this.type == \'password\') { this.value = \'Pass\'; this.type = \'text\'; this.style.fontStyle = \'italic\'; }" />
                <input type="submit" id="submit" value="" />
                <p>
                    Angemeldet bleiben?
                    <input type="checkbox" name="remind" id="remind" value="1" />
                </p>
             </form>';
        }


    kann mir niemand weiter helfen? :-(
    Geändert von Mac_Hack (17.09.2010 um 11:41 Uhr) Grund: Automerged Doublepost


    Legalize Weed World Wide!!
    ☺/
    /▌
    / \


  2. #2
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Wie wärs mal mit einem SQL-Dump, damit wir wenigstens die Tabellen und ein paar Werte zum Testen hätten?

    EDIT:
    Zitat Zitat von Mac_Hack Beitrag anzeigen
    Jedoch Funktioniert das einloggen nicht richtig bzw gar nicht.
    Was soll das bitte heißen? WAS funktioniert nicht? Nachdem ich die __user Tabelle erstellt und Daten eigefügt hatte, sowie
    $recht = mysql_fetch_assoc(mysql_query("SELECT * FROM __recht WHERE id='".$user['rid']."'"));
    auskommentiert hatte (weil mir wie gesagt die richtige Tabellenstruktur fehlt und ich keine Lust hatte groß rumzuraten -.-), konnte ich mich erfolgreich einloggen.

    Skript:
    http://pastie.org/1164764

    SQL Dump:
    http://pastie.org/1164765
    Das Passwort für die User blackberry und root ist jeweils "password".
    Geändert von blackberry (17.09.2010 um 13:14 Uhr)

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  3. #3
    Capt'n Crunch Avatar von Mac_Hack
    Registriert seit
    09.07.2008
    Beiträge
    936

    Standard

    Hier die Tabellenstruktur von _user
    Hilft das weiter?

    Code:
    SET FOREIGN_KEY_CHECKS;
    --  ----------------------------
    -- Table structure for `__user`
    --  ----------------------------
    DROP TABLE IF EXISTS `__user`;
    CREATE TABLE  `__user` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(30)  DEFAULT NULL,
      `pw` varchar(100) DEFAULT NULL,
      `email` varchar(50)  DEFAULT NULL,
      `regdate` int(11) DEFAULT NULL,
      `modified` int(11)  DEFAULT NULL,
      `time` int(11) DEFAULT NULL,
      `_safe` text NOT NULL,
       PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT  CHARSET=utf8;


    Legalize Weed World Wide!!
    ☺/
    /▌
    / \


  4. #4
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Ein bisschen... die von __safe wäre sicher auch nicht verkehrt.
    Ansonsten bleibt die Frage, was denn angeblich nicht funktioniert, da ich mich ja erfolgreich einloggen konnte...

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  5. #5
    Capt'n Crunch Avatar von Mac_Hack
    Registriert seit
    09.07.2008
    Beiträge
    936

    Standard

    Zitat Zitat von BlackBerry Beitrag anzeigen
    Ansonsten bleibt die Frage, was denn angeblich nicht funktioniert, da ich mich ja erfolgreich einloggen konnte...
    Code:
    SET FOREIGN_KEY_CHECKS;
    --  ----------------------------
    -- Table structure for `__safe`
    --  ----------------------------
    DROP TABLE IF EXISTS `__safe`;
    CREATE TABLE  `__safe` (
      `id` varchar(50) NOT NULL DEFAULT '',
      `sid` varchar(50) NOT  NULL DEFAULT '',
      `cid` varchar(50) NOT NULL DEFAULT '',
      PRIMARY KEY  (`id`,`sid`,`cid`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    Zitat Zitat von BlackBerry Beitrag anzeigen
    Ansonsten bleibt die Frage, was denn angeblich nicht funktioniert, da ich mich ja erfolgreich einloggen konnte...
    und eben das ist das Problem, ich weiß nicht woran es liegt, aber wenn es funktionieren würde dann würde sich die Ausgabe ja ändern, was aber nicht passiert?


    Legalize Weed World Wide!!
    ☺/
    /▌
    / \


  6. #6
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Dran gedacht die $user_module auszugeben?

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  7. #7
    Capt'n Crunch Avatar von Mac_Hack
    Registriert seit
    09.07.2008
    Beiträge
    936

    Standard

    ja sicher^^
    bei nicht erfolgreichem einloggen zeigt er ja wieder das formular


    Legalize Weed World Wide!!
    ☺/
    /▌
    / \


  8. #8
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    $recht = mysql_fetch_assoc(mysql_query("SELECT * FROM __recht WHERE id='".$user['rid']."'"));
    rid durch id ersetzen, damit der Adminbereich funktioniert.

    Aktueller SQL-Dump:
    http://pastie.org/1164833
    (die __recht-Tabelle musste ich dann doch erraten... wenn da mehr als view_admincenter drin sein soll, dann natürlich das ersetzen - für den Teil vom Skript ist es allerdings irrelevant)

    Aktueller Skript-Source:
    http://pastie.org/1164834
    Geändert von blackberry (17.09.2010 um 14:04 Uhr)

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  9. #9
    Capt'n Crunch Avatar von Mac_Hack
    Registriert seit
    09.07.2008
    Beiträge
    936

    Standard

    ok danke, das habe ich übersehen
    funktioniert aber immer noch nicht
    aber hab jetzt mal durch zahlen usw geschaut wo der fehler wahrscheinlich ist

    Code:
        $log = mysql_query("SELECT id, name, pw,  _safe FROM __user WHERE name = '".$name."' AND pw = '".$pw."' LIMIT 1") or  die(mysql_error());
        $user = mysql_fetch_assoc($log);


    der fetch funktioniert nicht, da hat er abgebrochen, dabei hat der query keinen fehler ausgegeben.
    ???

    EDIT/*
    ja da kommt mehr als view_admincenter rein
    werd die halt dann erweitern für was auch immer ich dann brauch
    Geändert von Mac_Hack (17.09.2010 um 14:13 Uhr)


    Legalize Weed World Wide!!
    ☺/
    /▌
    / \


  10. #10
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard

    Ganz blöde Frage: hast du überhaupt eine DB Verbindung? Was sagt mysql_error()?

    P.S.: das eingeloggt bleiben erscheint mir schwachsinnig (zumindest so, wie es programmiert ist). Beispielsweise wird $rnd nirgendwo initialisiert...

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 01.08.2009, 09:07
  2. MSN Freezer funktioniert aber nicht richtig wer kann Helfen?
    Von KillerBoy-Dennis im Forum Instant Messaging
    Antworten: 33
    Letzter Beitrag: 22.01.2009, 12:24
  3. Antworten: 3
    Letzter Beitrag: 25.09.2008, 20:52
  4. PHP Script funktioniert nicht
    Von K1ngC0bra im Forum PHP
    Antworten: 9
    Letzter Beitrag: 09.12.2007, 14:18

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •