Moin,
wenn mich nicht alles täuscht ist das ein Fehler in deinem HTML. Du nutzt im Script $username_in und $pw_in. Die eingabefelder heissen aber "name" und "pw". value gibt nur an, was als Voreingabewert schon in dem textfeld stehen soll. "name" ist das ausschlaggebende, wonach die Variablen benannt werden. Du musst also entweder die variablen im Script oder die Namen der felder ändern.
Noch ne kleine Anmerkung zu deinem code: Du kannst auch statt des echo-Befehls den PHP Block einfach beenden und später wieder anfangen... Also so:
phpcode....
?>
<html>
<head>
<title>login</title>
</head>
<body>
<table border="1">
<form method="post" action="<?php echo $PHP_SELF ?>">
<tr><td><p>username: <input type="text" name="name" value="<?php echo $username_in ?>" size="15"></p></td></tr>
<tr><td><p>password: <input type="text" name="pw" value="<?php echo $pwd_in ?>" size="15"></p></td></tr>
<tr><td width="200" align="center"><input type="submit" name="submit" value="submit"></td></tr>
</form>
</table>
</body>
</html>
<?php
}}
?>
Damit kannst du dir das escapen der ganzen Anführungszeichen sparen und ausserdem die Seite bei bedarf in einem HTML-Editor bearbeiten. Du musst nur darauf achten, dass du PHP wieder anfängst, wenn du PHP-Code nutzen willst. So zumbeispiel bei dem PHP_SELF. Da musst du PHP wieder starteb, nen echo-Befehl davor setzen und danach wieder beenden. Selbes giölt für die ganzen "value='$bla'", die du nutzt.
grüsse
Marc