El error que me da al enviar el formulario es el siguiente:
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /usr/local/apache/htdocs/www/scripts/loadfile.php:4) in /usr/local/apache/htdocs/www/scripts/loadfile.php on line 6
Este es el código php justo despues de <body> en el index.html:
Código PHP:
<?php
//evitar almacenar user y pass en la cache del navegador del usuario
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");//fecha en el pasado
header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . "GMT");//siempre modificado
header ("Cache-Control: no-store, no-cache, must-revalidate");//http/1.1
header ("Cache-Control: post-check=0, pre-check=0", false);
header ("Pragma: no-cache");//http/1.0
//cambiar el limitador del cache a 'private'
session_cache_limiter('private');
//llamamos a inicio de sesion (ponerlo al inicio de todos los scripts q utiliza la herramienta)
session_start();
//declaramos variables de sesion
if (isset($_SERVER['PHP_AUTH_USER']) AND isset($_SERVER['PHP_AUTH_PW'])) {
$_SESSION['username'] = $_SERVER['PHP_AUTH_USER'];
$_SESSION['userpassword'] = $_SERVER['PHP_AUTH_PW'];
}
else { //volver a pedir contraseñas via servidor apache
$url_relativa= './index.html';
header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" . $url_relativa);
exit;
}
?>
Y en el boton logout:
Código PHP:
<html>
<head></head>
<body>
<?php
//finalizar sesion
session_destroy();
//cargar pagina index, nueva autorizacion
$url_relativa= '../index.html';
header("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/" . $url_relativa);
exit;
?>
</body>
</html>
Luego, a la hora de rellenar un formulario, las variables user y password estan así:
Código PHP:
//llamamos a inicio de sesion (ponerlo al inicio de todos los scripts q utiliza la herramienta)
session_start();
//establecemos las constantes globales
$DB_USER = $_SESSION['username'];
$DB_PASSWORD = $_SESSION['userpassword'];