En realidad lo estabas haciendo bastante bien al principio, pero evaluando incorrectamente lo que obtienes de la base, porque si el usuario es único, y su password también, entonces la query sólo devolvería registros si hay coincidencia, por lo que todo el while() y ese if eran innecesarios.
La cosa podría andar, basándome en tu propio código, mas o menos así:
Código PHP:
Ver original<?php
$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
$sen = "SELECT * FROM personal WHERE usuario = '$usuario' AND contrasena = '$contrasena'";
if (!res) {
echo '
<html>
<head>
<meta http-equiv="refresh" content="0;url=../index.php">
</head>
</html>
';
} else {
$usbase = $fila['usuario'];
$conbase = $fila['contrasena'];
$_SESSION['usuario'] = $usuario;
$_SESSION['contrasena'] = $contrasena;
echo '
<html>
<head>
<meta http-equiv="refresh" content="0;url=../acceso/inicio.php">
</head>
</html>
';
} else {
echo '
<html>
<head>
<meta http-equiv="refresh" content="0;url=../index.php">
</head>
</html>
';
}
}
?>