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!