A ver te voy a exponer un ejemplo completo y comentado para que lo analices he intentes comprnder como funciona y los pasos basicos.
Espero que te sea de ayuda.
Código PHP:
Ver original<?php
/* inicializamos sesion */
/* extraemos las variables de POST */
/* Creamos una bandera para los errores */
$flag=0;
/* Verificamos los datos */
if (trim($user)==='' OR
strlen($user)<3) {$flag=1;} if ($flag===0){}else{echo '<p style="color:red">Usuario o PWD muy cortos. <a href="./login.php">Login</a></p>';exit;} /* Creamos conexion a la BD */
/* Verificamos la conexión */
/* Establecemos el conjunto de caracteres a utf8 */
/* Escapamos los datos */
/* Creamos la consulta */
$sql="SELECT * FROM usuarios WHERE user='$user' AND pw='$pw' LIMIT 1";
/* Ejecutamos la consulta */
/* Imprimimos errores si los hubiera */
/* Comprobamos si devuelve algun resultado */
if ($flag===0){}else{echo '<p style="color:red">Error de usuario. <a href="./login.php">Login</a></p>';exit;} /* Creamos la variables de sesion necesarias */
$_SESSION['username']=$row['username'];
$_SESSION['id_usu']=$row['id'] ;
$_SESSION['privilegios']=$row['privilegios'];
$_SESSION['tiempo']=time(); /* Redirigimos a la pagina deseada */
header('Location:./my_pagina.php'); /* Cerramos la conexion */
?>