Tu página está totalmente descuadrada.
Nunca uses pixeles para definir posiciones estaticas en todas las divisiones, intenta utilizar siempre bloques encerrados en mas bloques... por ejemplo:
<a class="logo" href="#"></a> <a class="login" href="#"></a>
Ahora.. header es el header completo, en tu sitio web está al 100% en ancho y debes darle posiciones con pixeles a cada división, en ves de eso solo ponle un padding top, left, right y bottom según lo necesite.
Después de eso .login debe tener un float right al igual que login_box, y eso es todo, no necesitas mas alineación porque el padding del header te lo va a ajustar.
Te recomiendo que tengas una estructura mas ordenada, por ejemplo:
Entonces a .fondo le pones un padding de 10px, eso hará que todo el resto del sitio web ya tenga su margen y no tendrás que estar marcando posiciones manualmente y le das la imagen de fondo que tienes.
A demás esto te va a servir para que cada ves que hagas un layout se vea exactamente igual en todos los exploradores incluyendo ie.
PD: ten cuidado con subir archivos peligrosos como:
http://www.brujula.hol.es/imagenes/browsers/photothumb.dbhttp://www.brujula.hol.es/BD/Brujula2.sqlRestringe los directorios.
CREATE TABLE `sesion` (
`cedula` text CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL,
`usuario` text CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL,
`clave` BLOB NOT NULL,
PRIMARY KEY (`cedula`(11))
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Volcar la base de datos para la tabla `sesion`
--
INSERT INTO `sesion` VALUES ('123456789', 'admin', 0xe8ef3ab856f1c4d654973838cb01eb41);
INSERT INTO `sesion` VALUES ('987654321', 'empleado', 0xa32a68046843d0f50269eb7be3427942);
INSERT INTO `sesion` VALUES ('12334455', 'gerente', 0x3c48663e144eb8022c6caf03c7ae5fb2);
http://www.brujula.hol.es/admin/Igual no corres peligro por el momento ya que no se el algoritmo que utilizas para la contraseña pero alguien con mas tiempo libre podría averiguarlo, cambialas y oculta esos files y creale un archivo htaccess para denegar la visualización directa.
También recuerda solicitar la sesión de usuarios a todos los archivos de administración y no solo de la portada:
http://www.brujula.hol.es/admin/actualizardatos.phpObservando el archivo funciones.js es posible saber como enviar datos arbitrarios para modificar los datos de tu sitio web sin la necesidad de autentificarse:
function enviarDatos(nombre, apellido, direccion, telefono, correo, cedula) {
var pagina = "<div id=\"opexitosa\">La operaci\ó\;n se realiz\ó\; con \éxito. <br><br>"
+ "<input type=\"button\" class=\"boton\" id=\"boton\" name=\"boton\" value=\"Regresar al Inicio\" "
+ "onClick=\"javascript:Enviar('inicio.php','paginaajax');\"/></div>";
ajax = ajaxFunction();
ajax.open("POST", "../admin/actualizardatos.php", true);
ajax.onreadystatechange = function() {
if (ajax.readyState === 4) {
document.getElementById('paginaajax').innerHTML =
ajax.responseText;
document.getElementById('paginaajax').innerHTML = pagina;
}
};
//muy importante este encabezado ya que hacemos uso de un formulario
ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
//enviando los valores
ajax.send("cedula=" + cedula + "&nombre=" + nombre + "&apellido=" + apellido + "&direccion=" + direccion + "&telefono=" + telefono + "&correo=" + correo);//+"&colegio="+colegio+"&carrera="+carrera+"&turno="+turno+"&concepto="+concepto+"&pago="+pago);
}
A demás la petición ajax está mal hecha porque que pasa si ingreso el carácter = o & en la contraseña? me lo va a tomar con una variable arbitraria, procesalos con escape() para codificar en urlencode.
Si no me equivoco el validador del correo en javascript es vulnerable a un REDoS:
https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoSSaludos.