Cita:  
					Iniciado por petit89  
  Lo que tuadmin esta diciendote, en otras palabras es que no tienes definida tu $_SESSION
    
Código PHP:
Ver original- else { 
- $msg = "You have been logged in"; 
Aqui deberia ir algo como:    
Código PHP:
Ver original- else { 
- $msg = "You have been logged in"; 
- $_SESSION['email'] = $email; //variable que viene del POST 
- header('Location: home.php'); //ahora si redireccionas 
- exit(); // yo lo agregaria para que no siga leyendo 
Por supuesto que el index.php tiene que llevar su session_start(); 
TODO documento, cuando trabajes con sesiones deber llevarlo. 
El mensaje esta demas; si a esa velocidad ni se leerá.. pero mientras este en desarrollo, gusto tuyo... ahora que llevas $_SESSION['email'] definida, el codigo:   
Código PHP:
Ver original-     $con = new mysqli('localhost', 'root', '', 'mydbname'); 
-                 if(!isset($_SESSION['email']))      { 
-                     header('location:index.php');   } 
-       
-     echo "bienvenido"; 
-     ?> 
ahora 
SI tendra variable que leer... deberia mostrarte 
bienvenido... tienes una comprobación de $_SESSION['email'] para logeo... ¿como pensabas comprobarla si no la mencionabas en nada mas?
   
hola petit89 gracias por responder, si tambien lo probe de ese modo, pero mi error era este:
 $_SESSION['email'] = $data['email']; y debería haber sido así: 
$_SESSION['email'] = $email;   y si me faltaba en la primera linea 
session_start(); 
yo lo probe de este modo y estaba mal asi:   
Código PHP:
Ver original- $sql = $con->query("SELECT id, password, isEmailConfirmed FROM users WHERE email='$email'"); 
-             if ($sql->num_rows > 0) { 
-                 $data = $sql->fetch_array(); 
-                 if (password_verify($password, $data['password'])) { 
-                     if ($data['isEmailConfirmed'] == 0) 
-                         $msg = "Please verify your email!"; 
-                     else { 
-                         $msg = "You have been logged in"; 
-                         $_SESSION['email'] = $data['email']; 
-                     } 
-                 } else 
-                     $msg = "Please check your inputs!"; 
-             } else { 
-                 $msg = "Please check your inputs!"; 
-             } 
y realmente daríahaber sido así.    
Código PHP:
Ver original- <?php 
-     $msg = ""; 
-   
-     if (isset($_POST['submit'])) { 
-         $con = new mysqli('localhost', 'root', '', 'mydbname'); 
-   
-         $email = $con->real_escape_string($_POST['email']); 
-         $password = $con->real_escape_string($_POST['password']); 
-   
-         if ($email == "" || $password == "") 
-             $msg = "Please check your inputs!"; 
-         else { 
-             $sql = $con->query("SELECT id, password, isEmailConfirmed FROM users WHERE email='$email'"); 
-             if ($sql->num_rows > 0) { 
-                 $data = $sql->fetch_array(); 
-                 if (password_verify($password, $data['password'])) { 
-                     if ($data['isEmailConfirmed'] == 0) 
-                         $msg = "Please verify your email!"; 
-                     else { 
-                         $msg = "You have been logged in"; 
-                         $_SESSION['email'] = $email; 
-                     } 
-                 } else 
-                     $msg = "Please check your inputs!"; 
-             } else { 
-                 $msg = "Please check your inputs!"; 
-             } 
-         } 
-     } 
- ?> 
- <!doctype html> 
- <html lang="en"> 
- <head> 
-     <meta charset="UTF-8"> 
-     <link rel="stylesheet" href="bootstrap.min.css"> 
- </head> 
- <body> 
-     <div class="container" style="margin-top: 100px;"> 
-         <div class="row justify-content-center"> 
-             <div class="col-md-6 col-md-offset-3" align="center"> 
-   
-                 <img src="images/logo.png"><br><br> 
-   
-                 <?php if ($msg != "") echo $msg . "<br><br>" ?> 
-   
-                 <form method="post" action="login.php"> 
-                     <input class="form-control" name="email" type="email" placeholder="Email..."><br> 
-                     <input class="form-control" name="password" type="password" placeholder="Password..."><br> 
-                     <input class="btn btn-primary" type="submit" name="submit" value="Log In"> 
-                 </form> 
-   
-             </div> 
-         </div> 
-     </div> 
- </body> 
- </html>