صفحه لاگین به روش pdo

امین موسائی

کاربر عضو
سلام دوستان

من یه صفحه لاگین دارم که میخوام مدیریت و کاربران از همین صفحه وارد بشن حالا باید کاربران به یک صفحه برن و مدیر به یه صفحه دیگه .

چه کدی به کجای کد زیر اضافه کنم؟ و میخوام نام کاربری که لاگین میشه رو هم از دیتابیس بگیرم تا در صفحات استفاده کنم یه توضیح بدین لطفا

و اساتید محترم در مورد امنیتش هم یه توضیح بدن

پیشاپیش تشکر...

اینم کد صفحه لاگین


کد:
<?php
include '../object/main.php';
include("../object/connect.php");
$security = new security ;
if(isset($_POST['login']))
{
    if(empty($_POST['username']) || empty($_POST['password']) || empty($_POST['email']))
    {
        $security->Redirect("index","empty=1010");
    }
    else if(!preg_match("/[a-zA-Z0-9._-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z\.]+/",$_POST['email']))
    {
        $security->Redirect("index","error_mail=1030");
    }
    else
    {            
        $sql = "SELECT COUNT(*) FROM `tbl_users` WHERE `username` = ? && `password` = ? && `email` = ? ";
        $result = $connect->prepare($sql);
        $result->bindValue(1,$_POST['username']);
        $result->bindValue(2,$_POST['password']);
        $result->bindValue(3,$_POST['email']);
        $result->execute();
        $num = $result->fetch(PDO::FETCH_ASSOC);
            if($num=1)
            {

                $security->Redirect("../manager/index");
            }
            else
            {
                $security->Redirect("index","error_log=1020");
            }
            if($num=1)
            {

                $security->Redirect("../user/index");
            }
            else
            {
                $security->Redirect("index","error_log=1020");
            }                
        }
    }

else
{
    $security->Redirect("index");
}

?>
 
آخرین ویرایش توسط مدیر:

MAYRAN

کاربر عضو
درود

مشکل شما در قسمت


کد:
            if($num=1)
            {

                $security->Redirect("../manager/index");
            }
            else
            {
                $security->Redirect("index","error_log=1020");
            }
            if($num=1)
            {

                $security->Redirect("../user/index");
            }
            else
            {
                $security->Redirect("index","error_log=1020");
            }
هست چون در شرط باید از == به جای = استفاده کرد البته در اینجا num==1 می باشد که بازهم مشکل دارد چون کاربر و مدیر

یک شرط مشابه دارند.

که در هر صورت هر نوع کاربری به صفحه مدیر ارسال می شود.

امنیت کم است من فکر می کنم این نوع برنامه نویسی شما اصلا کار نکند.(با توجه به کد های موجود)

 
بالا