schrub: optimierung-frage

hi, ich hab zu folgendem code ne frage, kann man den noch besser optimieren verkleinern?

if (isset($_COOKIE['forum_userid'])) {
        $userid = $_COOKIE['forum_userid'];
            $retid = mysql_query("SELECT * FROM users WHERE userid = '{$userid}'");
            $row = mysql_fetch_assoc($retid);

$userpw = $_COOKIE['forum_userpassword'];
            $retid_pw = mysql_query("SELECT * FROM users WHERE password = '{$userpw}'");
            $row_pw = mysql_fetch_assoc($retid_pw);

$sql = "SELECT
                userid, password
            FROM
                users
            WHERE
                userid=$userid";

$result = mysql_query($sql);
        $row_pw = mysql_fetch_array($result, MYSQL_ASSOC);
            if($row_pw['password'] == $userpw) {
                print_r ($row['username']);
                echo "<br />\n<a href="login.php">User Panel</a><br />\n";

} else {
                echo "Gast (<a href="login.php">Login</a>)<br />\n";
                echo "<a href="login.php">Registrieren</a><br />\n";
                echo "<a href="login.php">Info</a><br />\n";
                }
        }else {
            echo "Gast (<a href="login.php">Login</a>)<br />\n";
            echo "<a href="login.php">Registrieren</a><br />\n";
            echo "<a href="login.php">Info</a><br />\n";
            }

mfg schrub

  1. Hi,

    vielleicht entgeht mir die Tiefe deiner Sicherheitsgedanken, aber gern genommen ist schlicht und einfach die Frage nach der Userid, bei der Benutzername und Passwort übereinstimmen:

    $userid = $_COOKIE['forum_userid'];
    $userpw = $_COOKIE['forum_userpassword'];

    $retid = mysql_query("SELECT * FROM users WHERE userid = '{$userid}' AND password = '{$userpw}'");

    Wenn dann eine Zeile zurückkommt ist das die des Benutzers (oder zumindest desjenigen bei dem ID und Passwort zusammenpassten...)

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Hi,

      vielleicht entgeht mir die Tiefe deiner Sicherheitsgedanken, aber gern genommen ist schlicht und einfach die Frage nach der Userid, bei der Benutzername und Passwort übereinstimmen:

      $userid = $_COOKIE['forum_userid'];
      $userpw = $_COOKIE['forum_userpassword'];

      $retid = mysql_query("SELECT * FROM users WHERE userid = '{$userid}' AND password = '{$userpw}'");

      Wenn dann eine Zeile zurückkommt ist das die des Benutzers (oder zumindest desjenigen bei dem ID und Passwort zusammenpassten...)

      MfG
      Rouven

      verstehe nicht ganz wie du das meinst?

      1. Hi,

        verstehe nicht ganz wie du das meinst?

        Na ja, wenn du mein vorheriges Posting nimmst und darunter folgendes machst, solltest du die selbe Prüfung ausgeführt haben:
        if (mysql_num_rows($retid) == 1) {
           $row = mysql_fetch_assoc($retid);
           echo "Benutzer".$row['username']."hat sich erfolgreich angemeldet";
        } else {
           echo "Benutzerdaten sind falsch!";
        }

        MfG
        Rouven

        --
        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  2. hi,

    hi, ich hab zu folgendem code ne frage, kann man den noch besser optimieren verkleinern?

    if (isset($_COOKIE['forum_userid'])) {
            $userid = $_COOKIE['forum_userid'];

    hier prüfst du vor dem zugriff, ob es im $_COOKIE-array ein element mit dem index 'forum_userid' gibt - brav.

    $userpw = $_COOKIE['forum_userpassword'];

    warum machst du das hier nicht analog ...?

    } else {
                    echo "Gast (<a href="login.php">Login</a>)<br />\n";
                    echo "<a href="login.php">Registrieren</a><br />\n";
                    echo "<a href="login.php">Info</a><br />\n";
                    }
            }else {
                echo "Gast (<a href="login.php">Login</a>)<br />\n";
                echo "<a href="login.php">Registrieren</a><br />\n";
                echo "<a href="login.php">Info</a><br />\n";
                }

    zwei mal exakt die selbe ausgabe - natürlich _muss_ man das "optimieren".

    (z.b., in dem man sich in den else-zweigen nur jeweils ein flag setzt, und anschliessend von diesem abhängig die ausgabe macht.)

    gruß,
    wahsaga

    --
    I'll try being nicer if you'll try being smarter.