Hilfe bei Programmierung plz

  • Hilfe ich wollte einen Userbann machen und nur leider funktioniert es nicht ... und zwar würd ich gerne das er beim einloggen darauf überprüft ob dieser Name in der MySQL Tabelle gebannt ist hier der Script:
    <?
    include("config.inc");
    ?>
    <html>
    <body>
    <form method="POST" action="login.php?sub=login">
    <input name="user">
    <input name="password" type="password">
    <input type="submit" value="login">
    </form>
    <?
    if($_GET[sub]=="login")
    {
    $user = $_POST['user'];
    $password = $_POST['password'];
    $cryptpw=md5($password);
    $ueberpruefung= mysql_fetch_array(mysql_query("SELECT * FROM userlist WHERE user = '$user' AND password='$cryptpw'"));
    $gesperrt = mysql_fetch_array(mysql_query("SELECT gebannt FROM userlist WHERE user = '$user'"));
    if ($ueberpruefung)
    {
    if ($gesperrt = "YES") {

    mysql_query("DELETE FROM game_session WHERE id = '$ueberpruefung[id]'");
    mysql_query("INSERT INTO game_session SET id = '$ueberpruefung[id]', sid = '$sid', time='$time'");

    echo 'Login erfolgreich. <meta http-equiv="refresh" content="2; URL=index.php?sub=ubersicht"> Sie werden automatisch weitergeleitet';


    } else {
    die("Sie wurden aus dem System gebannt.");
    }
    }
    }
    else
    {
    echo "Passwort und Username stimmen nicht überein.";
    }

    ?>
    </body>
    </html>

  • ups fehler gefunden sry :D ein = zu wenig und das heißt gesperrt = NO nicht YES :D

    Fehler:
    if ($gesperrt = "YES") {

  • nein doch nicht gefunden ist immer noch nen fehler drinne wnen ich das anderum mache bin ich immer noch nicht entbannt ...

  • Ist es eigentlich zuviel verlangt, Satzzeichen zu benutzen? Solche Texte sind eine Zumutung!

    Wenn ich solche verschachtelten Abfrage sehe

    mysql_fetch_array(mysql_query("...."));

    wird mir immer ganz übel, wo lernt man so einen Sch...?

    Und was willst du mit mysql_fetch_array? Warum nicht mysql_num_rows?

    16.14. Warum soll ich nicht SELECT * schreiben?
    http://www.php-faq.de/q/q-sql-select.html

  • du hast 2 mysql abfragen zuviel.... für delete und dann insert gibt es update/replace ;)
    und ein select hätte vollkommen gereicht...

    müsste es nicht wenn
    if ($gesperrt['gebannt'] = "NO") {
    heißen? ;)


    EDIT : hoppla... muss == sein
    if ($gesperrt['gebannt'] == "NO") {

  • jo hast recht Dragon-D hab auch gerade gemerkt das man einfach nur if($ueberpruefung['gebannt']="NO") schreiben kann