Una pregunta para que usas if(setcookie==true) ?.
Por otro lado yo sinceramente lo implementaria con sesiones te quedaria algo asi , te publico un ejemplo:
pasarela.php
Código php:
Ver original<?php
if($username and $password){
$query = "SELECT id FROM usuarios WHERE username='{$username}' AND password='{$password}'";
$_SESSION['username']=$username;
$_SESSION['password']=md5($password); echo "<a href='panel.php'>Bienvenido - Ir al panel</a>";
}else{
Header("Location: error.php"); }
}else{
echo "Debes completar todos los campos bien";
}
?>
panel.php
Código php:
Ver original<?php
if(isset($_SESSION['username') && (isset($_SESSION['password']))){
echo "Bienvenido ".$_SESSION['username'];
echo "<a href='logout.php'>Cerrar sesion</a>";
}else{
echo "Debe loguearse";
}
?>
logout.php
Bueno te comento que hacemos de diferente , lo unico diferente es lo de sesiones , el resto tiene una logica similar al tuyo , compruebo que hayan enviado los datos , compruebo que ningun campoe ste vacio ,securizo las variables pasadas mediante mysql_real_escape_string , luego , hago una consulta sql para comprobar si existe un registro que coincide con nombre de usuario y password , si existe , creo en el array de sesion dos items uno denominado password y el otro username y le muestor un mensaje que dice bienvenido y le doy un link al panel de control , si la consulta arroja como resultado 0 coincidencias redirecciono a una pagina de error , si los datos enviados por el form no estan completos imprimo un mensaje que debe completar bien los datos.
Cualquier duda consulta :).
Te dejo una referencia a sesiones:
http://ar2.php.net/manual/en/book.session.php