mysql_num_rows ERROR von einem Benutzergruppen Systemlogin

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • mysql_num_rows ERROR von einem Benutzergruppen Systemlogin

    Hallo
    Schreibe gerade ein login für mein Benutzerloginscript mit Benutzergruppen

    Umgebung:
    2 mysql tabellen
    * für Benutzer
    * für Benutzergruppen
    Aufgaben:
    -Login vom post nick and pass erkennen
    -Eintrag in sql suchen und erkennen ob die Benutzergruppe administrationsrecht auf 1 hat
    - Login session schreiben wenn login=true oder login=false ausgeben wenn kein login
    Work:
    Ich habe extra zwei benutzer angelegt mit MD5 pass und unterschiedlichen nicks einer adminrecht 1 einer nicht !


    Code:

    Quellcode

    1. $login_abfrage = "SELECT * FROM benutzer WHERE (Nickname like '".$_POST['name']."') AND (Kennwort = '".md5($_POST['pass'])."')";
    2. $login_ergebnis = mysql_query($login_abfrage);
    3. if (mysql_num_rows($login_ergebnis) > 0)
    4. {
    5. $login_access = mysql_fetch_array($login_ergebnis);
    6. $gruppen_abfrage = "SELECT * FROM xcn_benutzergruppen WHERE GruppenId='".$login_access->Gruppe."' LIMIT 1";
    7. $gruppen_ergebnis = mysql_query($gruppen_abfrage);
    8. if (mysql_num_rows($gruppen_ergebnis) > 0)
    9. {
    10. $_SESSION['nickname'] = $login_access->Nickname;
    11. $_SESSION['userid'] = $login_access->Id;
    12. $_SESSION['login'] = true;
    13. print '<strong>Login erfolgreich!</strong></span>';
    14. }
    15. else
    16. {
    17. print '<strong>Login fehlgeschlagen, weil du keine Administrationsrechte besitzt!</strong></span>';
    18. };
    19. }
    20. else
    21. {
    22. print '<strong>Login fehlgeschlagen!</strong></span>';
    23. };
    Alles anzeigen


    Problem:

    Bekomme immer Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in mypfad^^ on line 4

    Was dann in Zeile 9 passiert ka

    Danke für schnelle und Sinnvolle Antworten!
  • habsch schon vorhin rausgefunden ^^ hab vergessen in meiner include datei für die sql die neue db einzugeben :roll:
    abgesehen davon währen da noch etliche fehler gekommen bzw. keine ausgaben und kein login=true !

    Habe es jetzt so gemacht und es funzt so auch bei mir ^^ ;)

    Quellcode

    1. if (!empty($_POST['name']))
    2. {
    3. $login_abfrage = "SELECT * FROM benutzer WHERE (Nickname='".$_POST['name']."') AND (Kennwort = '".md5($_POST['pass'])."')";
    4. $login_ergebnis = mysql_query($login_abfrage);
    5. while($login_access=mysql_fetch_assoc($login_ergebnis))
    6. {
    7. $login_checks_gruppe = $login_access["Gruppe"];
    8. $login_checks_nickname = $login_access["Nickname"];
    9. $login_checks_id = $login_access["Id"];
    10. };
    11. $login_num_checks =mysql_num_rows($login_ergebnis);
    12. if ($login_num_checks > 0)
    13. {
    14. $gruppen_abfrage = "SELECT * FROM benutzergruppen WHERE GruppenId='".$login_checks_gruppe."'";
    15. $gruppen_ergebnis = mysql_query($gruppen_abfrage);
    16. $login_trues=mysql_fetch_object($gruppen_ergebnis);
    17. if (($login_trues->Administration)=="1")
    18. {
    19. $_SESSION['nickname'] = $login_checks_nickname;
    20. $_SESSION['userid'] = $login_checks_id;
    21. $_SESSION['login'] = true;
    22. $login_msg = '<span class="Login_yes"><img src="../template/bilder/yes.jpg" width="16" height="16"> <strong>Login erfolgreich!</strong></span>';
    23. }
    24. else
    25. {
    26. $login_msg = '<span class="Login_no"><img src="../template/bilder/no.jpg" width="16" height="16"> <strong>Login fehlgeschlagen!</strong></span>';
    27. };
    28. };
    29. };
    Alles anzeigen


    thx Donut

    Jeder der will kann es frei verwenden und sich ein spezial login damit basteln ^^
    Beste Grüße,
    M4rc3L-XCN
  • wie du Variableninhalte highlightest, wird ja erklärt.
    Du musst das ganze nur in eine Variable bekommen. Z.B. über preg_match.

    Oder aber du machst es direkt über [phpdoc]preg_replace[/phpdoc] (beachte den e Parameter)

    Beispiel: Das wandelt alle HTML-Tags des durchsuchten Textes in Großbuchstaben um.

    Quellcode

    1. preg_replace("/(<\/?)(\w+)([^>]*>)/e",
    2. "'\\1'.strtoupper('\\2').'\\3'",
    3. $html_body);