Bueno, el codigo ese es autenticación mediante código único. Para hacerlo con usuario y contraseña sólo hay que añadir un campo más.
Código PHP:
<?php
session_start();
if (!isset($_SESSION['uid'])) {
if (isset($_POST['usuario'])) && isset(isset($_POST['clave'])) {
$usr = trim($_POST['usuario']);
$pwd = trim($_POST['clave']);
$q = mysql_query("SELECT id, clave FROM usuarios WHERE nombre='$usr'")
if (mysql_num_rows($q) == 1) {
$r = mysql_fetch_row($q);
if (strcmp($r[1], $pwd) == 0) $_SESSION['uid'] = $r[0];
else echo "<div>esa clave que ha introducido no vale ni para comprar pipas</div>";
}
else echo "<div>usuario no encontrado, desea que busque debajo de la mesa?</div>";
}
else {
?>
<form method="post" name="" action="#">
<label for="usuario">Usuario:</label>
<input type="text" name="usuario" id="usuario"><br>
<label for="clave">Clave::</label>
<input type="password" name="clave" id="clave"><br>
<input type="submit" value="acceder">
</form>
<?php } } else { ?>
<div>Bienevenido profesor Falken, le apetece una partidita?</div>
<?php } ?>
Bueno, a eso sólo hay que añadir la limpieza de variables para prevenir SQLInjection, yo sólo le he quitado los espacios de principio y final.