sdemirkeser'in dediği gibi register global problemi olabilir. Aşağıdaki şekilde bi deneyin

<?php
session_start();
include ("connect.php");
require('db.php');
$db  = new DB();
require('../smarty/Smarty.class.php');
$smarty = new Smarty();
$rootdir  = $_SERVER['DOCUMENT_ROOT'];
if ($_POST['islem'] == logout)
{
session_destroy();
}
if (isset($_SESSION['adminname']))
{
header("Location: index.php");
}
if($_POST['submit'] == 1)
{
if (empty($_POST['username']))
{
$hata = "Kullanıcı Adını Yazınız";
$smarty->assign("hata", $hata);
}
elseif (empty($_POST['password']))
{
$hata = "Sifre Yazınız";
$smarty->assign("hata", $hata);
}
else
{
$sql = mysql_query("select * from admin where adminname = '".$_POST['username']."' and adminpass = '".$_POST['password']."'");
$say = mysql_num_rows($sql);
$sonuc = mysql_fetch_array($sql);
if ($say < 1)
{
$hata = "Kullanıcı adı veya şifre hatalı";
$smarty->assign("hata", $hata);
}
else
{
$_SESSION['adminname'] = $_POST['username'];
$_SESSION['adminyazar'] = $sonuc['adi'];
header("location: index.php");
exit();
}
}
}
$smarty->display("login.tpl");
?>