Spero di aver capito male, ma mi sembra che stai facendo un gran casino
Se includi su ogni pagina quel login.php mi pare normale che poi non ti trova l'utente:
Quando ti sposti (presumo con un link) $_POST non è più popolata (mica rifai il login per ogni pagina, no?), quindi $mail & $passi sono nulle (dovresti avere un warning che l'indice di $_POST non esiste). Quindi vai a fare la query, che ovviamente non trova nessun utente con mail & pass nulli.
Nelle tue pagine, dove richiesto, dovresti solo controllare se in sessione ci sono i dati utenti.
Codice PHP:
session_start();
if(isset($_SESSION['user'])){
$log = true;
// L'utente è loggato
}
...
if($log){
echo "Benvenuto ". $_SESSION['nome'];
}else{
echo "Benvenuto anonimo";
}
La query per il login andrebbe fatta in un file a parte e richiamata solo per il POST delle credenziali, non in ogni file.
PS: infine c'è un grande errore:
Nelle altre pagine hai messo
Codice PHP:
<?
session_start();
?>
<html>
...
include ("login1.php");
include ("oscura.php");
include ("barra.php");
?>
</html>
Ma il tag html si trova anche in login1.php (dove,tra l'altro, chiudi anche il body) e quindi crei un documento molto fuori standard!