El esquema que tienes es bastante bueno sobre lo que va. Simplemente intenta trasladarlo a codigo abstrayendote y sacando las principales caracteristicas.
index.php: Tendrá 2 botones, 1 boton hace un header a login.php y el otro boton a form.php
login.php: Un formulario con 2 campos y 1 boton. Cuando se apriete el boton, la acción sera enviar mediante POST ambos campos a validar.php
spoiler
<div class="form">
<form class ="login-form" action='validar.php' id = 'formulario' method='post' accept-charset='UTF-8'>
<fieldset>
<legend>Inicio de Sesión</legend>
<input type='hidden' name='submitted' value='1'/>
<label for='username' > Usuario: </label>
<input type='text' name='usuario' maxlength="15" />
<label for='password' > Contraseña: </label>
<input type='password' name='password' maxlength="15" />
<button type='submit' class="boton-modificar" type='submit' name='Submit' value='Login'> Iniciar Sesion </button>
</fieldset>
</div>
El campo action del formulario, significa hacia que .php se va a dirigir al darle al boton del formulario. El metodo es POST (mucho mas seguro que GET.
validar.php: Aqui recibiremos nuestras variables mediante POST, simplemente habra que realizar una conexion a la BD.
spoiler
$username = $POST['usuario'];
$contraseña = $POST['contraseña'];
$sql = "SELECT * FROM Usuario WHERE nombre = '$username'";
Teniendo el usuario y la contraseña, es buscar simplemente el username en la BD, obtener su contraseña de la BD y compararlo con $contraseña y si coinciden, entonces se le permite hacer login.
bienvenido.php: Un simple mensaje HTML y un boton que hace un header a logout.php en caso de ser pulsado.
logout.php: Destruir la sesion tal y como lo tienes en el esquema.
form.php: Mismo formulario que en el login, mediante POST envias los datos del formulario a destino.php.
destino.php: Obtienes los datos enviados por POST desde form.php y haces un INSERT en la base de datos.