Moet waarschijnlijk zijn: if(mysql_num_rows($result) <1)
Je query kan je beter zo doen, alhoewel die van jou ook wel goed is denk ik.
Evt. kan je (username,password) weglaten als dat de enige velden in je tabel zijn (maar dan moet je wel rekening houden met een evt. unieke sleutel (id)).
$sql = mysql_query("INSERT INTO login (username,password) VALUES('" . $username . "','" . $password . "') ")
or die(mysql_error());
een foutmelding is altijd handig, maar voor zover ik kan zien is je where clause fout, je waarde moet namelijk tussen quotes staan.
Daarnaast moet je er ook voor zorgen dat lastactive een datetime is.
zo dus:
$query = "UPDATE login SET lastactive = NOW() WHERE username = '".$_SESSION['user']."'";
Tip: zet altijd dit bovenaan je script:
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>
Je had dan waarschijnlijk wel een foutmelding gekregen op dbconnect() aangezien het verbinden met je mysql server mislukt. Ik weet niet hoe die functie eruit ziet, maar het blijkt maar weer waarom je ook altijd moet controleren of er wel degelijk een verbinding tot stand gebracht is...