IP kontrolle

Hi,
ich bin dabei ein IP Kontrolle für meinen Loginbereich zu erstellen. Die Kontrolle funktioniert so wie sie soll: Bei z.b. 12.123.345.67 wird die IP in die 4 abschnitte nach den Punkten zerlegt und die ersten beiden teile werden mit den ersten beiden teilen der ip verglichen, die in der Datenbank bei dem eingegeben Username eingetragen ist.
Allerdings werden mir folgende Fehler angezeigt:
Notice: Undefined index: username in /users/gergaming/www/oben_de.php on line 129

Notice: Undefined variable: vari in /users/gergaming/www/oben_de.php on line 133

Notice: Undefined offset: 3 in /users/gergaming/www/oben_de.php on line 133

Notice: Undefined offset: 2 in /users/gergaming/www/oben_de.php on line 133

Notice: Undefined offset: 1 in /users/gergaming/www/oben_de.php on line 133

<?PHP //Zeile 128
$bla = "SELECT IP FROM member WHERE UserName='".$_POST['username']."'";
    $eier = mysql_query($bla) OR die(mysql_error());
    while($row = mysql_fetch_assoc($eier)) 
$vari=$row["IP"];
list($ip1, $ip2, $ip3, $ip4) = explode(".", $vari);
$ipadresse =getenv("REMOTE_ADDR");
list($ip11, $ip22, $ip33, $ip44) = explode(".", $ipadresse);

if (!logged_in()) 
{
if (isset($_POST['login'])) 
{ 
    $userid=check_user($_POST['username'], $_POST['userpass']); 
    if (($userid!=false) and ($ip1==$ip11) and ($ip2==$ip22))
        login($userid); 
    else 
        echo 'Die eingegebenen<br>Daten sind falsch!'; 
} 
if (!logged_in()) 
    echo '<form method="post" action="index_de.php"> 
        <label>Username:</label><br><input name="username" type="text"><br> 
        <label>Password: </label><br><input name="userpass" type="password" id="userpass"><br> 
        <br><input name="login" type="submit" id="login" value="Einloggen"> 
    </form>'; 
else 
    echo '<a href="logout_de.php"><font color=red size=3>&nbsp;&nbsp;ausloggen</font></a>'; 
}
else
echo '<a href=logout_de.php><font color=red size=3>&nbsp;&nbsp;ausloggen</font></a>'
?>

Kann mir bitte jemand helfen?

code lesbar schreiben wär mal was… :wink:

username (von einem formular) existiert nicht…
was du da machst ist übrigens extrem gefährlich… einen wert von aussen prüft man zuerst, bevor man ihn benutzt… (der könnte zb irgendeine anweisung zum tabellenlöschen beinhalten…)

die weiteren sollten dann verschwinden, wenn $username existiert…

Ja im lesbar schreiben bin ich nicht gerade geübt :smiley:
unsername von Formular existiert doch!?

Der Wert wird doch geprüft…
$userid=check_user($_POST[‘username’], $_POST[‘userpass’]);
if (($userid!=false)

Was soll den diese $username beinhalten?

hast du das formullar ausgefüllt und abgesendet? vorher existiert diese variable nicht…

zB. eine anweisung zum löschen der tabelle…

OK ich verstehe. Der meckert weil die Variable erst gegeben ist, wenn das Formular abgeschickt wurde.
Aber ich weiß nicht wie ich das anders machen kann.

Falsch. Die Variable wird (zumindest hier) in keinem Fall gesetzt. Der Grund dafür ist register_globals=Off. learn2superglobals. :wink:

Falsch. Die Variable wird (zumindest hier) in keinem Fall gesetzt. Der Grund dafür ist register_globals=Off. learn2superglobals. :wink:[/quote]
sry mit dem $username mein ich auch $_POST[‘username’] ich war nur zu faul das so hinzuschreiben :wink: (in meinen skripten bin ich nicht zu faul… dort initalisiere ich diese auch, u.a. zeugs)

Bitte was???