النتائج 1 إلى 7 من 7

الموضوع: مساعده في تسجي الدخول

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Aug 2004
    المشاركات
    54

    مساعده في تسجي الدخول



    ياجماعة الخير وربي حيرتني مشكله ودي ولو ثقلت عليكم احصل لها حل عندكم
    المشكله في بناء لوحة تحكم محميه بكلمة مرور

    طبعا عندنا نظامين واعرفهم الي هي اكعكات و session


    المشكله اني ما ابي استخدم session لاني ابي الزائذ يحتفظ بمعلوماته على الجهاز
    المهم

    سويت نظام تسجيل COOKIe

    بس واجهتني اكثر من مشكله طبعا انا استخرج المعلومات من قاعدة البينات



    كود PHP:
    $username      $HTTP_POST_VARS['username'];
      
    $password      $HTTP_POST_VARS['password'];



    include(
    'admin/config.php');
    $password=md5 ($password);

    $sesthat=mysql_query("SELECT * FROM user WHERE user='$username' AND password='$password'");
    if(
    mysql_fetch_row($sesthat) > ){
    $yas=mysql_query("SELECT * FROM user WHERE user='$username' ");
    while(
    $row=mysql_fetch_array($yas)){
    $password=$row[password];
    $username=$row[user];
    }


    // عند اختيار صندوق تذكرنى cookie تخزين الـ

    setcookie("cookie_username",$username,time()+8400,'/');
    setcookie("cookie_password",$password,time()+8400,'/');
    echo
    "<font face='tahoma' size='2'><html dir='rtl'>";
    echo
    "تم تسجيل دخولك بنجاح <br> انتظر قليلا ليتم تحويلك";
    echo
    "<meta http-equiv='REFRESH' content='1; url=index2.php'>";
    }else{
    echo
    "<font face='tahoma' size='2'><html dir='rtl'>";
    echo
    "<center>للأسف لم نتمكن من التعرف عليك";
    echo
    "<meta http-equiv='REFRESH' content='1; url=admin_login.php'>";

    وهذا الملف يقوم بستخراج وزرع COOKIe
    بس المشكله انه يقول تم تسجيل دخولك ويرجع ثاني مره يطلب مني التسجيل

    المشكله هي اتوقع في طريقة استدعاء COOKIe


    انا سويت وحاولت باكثر من طريقه بس للاسف لا جدوى
    عموما هذا الكود

    كود PHP:
    if (($HTTP_COOKIE_VARS["cookie_password"]== "password") && ($HTTP_COOKIE_VARS["cookie_username"]== "username"))$ok=1;


    if(
    $ok == 1)
    {
    echo 
    "<p align=\"center\"><font color=\"#FF0000\"><b>انتظر</b></font></p>";

    }else{
    echo
    "<font face='tahoma' size='2'>لم تقم بتسجيل الدخول</b>";
    echo
    "<meta http-equiv='Refresh' content='1; url=admin_login.php'>";
    EXIT; 

    عموما هل ملفين اتمنى المساعده فيهم ترى انتظر ردكم
    حصلت اكثر من موضع يتكلم عن نفس الشي وطبقتهم وربي لي كم يوم بس للاسف ما زبط ولا واحد





    __________________
    ومن يتقي الله يجعل مخرجا


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    659


    جرب ان تستخدم $_COOKIE بدلاً من $HTTP_COOKIE_VARS

    لي عودة إذا لم ينجح





    __________________
    مدونتي | تويتر


  3. #3
    عضو نشيط
    تاريخ التسجيل
    Nov 2005
    المشاركات
    281


    وكذلك بحب ضيف لازم تعمل
    كود PHP:
    if (isset($cookie)){
    do 
    nothing:D

    يعني استخدم دالة
    isset والعلم عند الله





    __________________
    مدونتي
    Www.AlMashroo.Com

  4. #4
    عضو نشيط
    تاريخ التسجيل
    May 2005
    المشاركات
    179


    السلام عليكم

    تأكد من أن التاريخ في جهازك صحيح ممكن يكون هو سبب المشكلة لديك






  5. #5


    أخوي فيه ملاحظات كثيرة على الكود.

    في الكود الأول، هل ملف config.php يحتوي على متغير اسمه $password؟ إذا كان الجواب لا فما عندك مشكلة في الكود الأول.

    بالنسبة للكود الثاني:
    1) يجب تعريف المتغير $ok أو على أقل تقدير تصفيره .. لأسباب أمنية.
    2) في المقارنة أن تقارن ب "username" و "password" ، وهذي قيم نصية وليست متغيرات. بالتالي من الطبيعي إنه يطلب تسجيل الدخول.
    3) تذكر بأن قيمة كلمة المرور المخزنة في الكوكي مشفرة، بالتالي عندما تقارن أي كلمة مرور بالقيمة اللي بالكوكي تأكد من تشفيرها أولا ب md5.

    4) في أغلب الأحيان يفضل استخدام المتغيرات التالية $_COOKIE ، $_POST بدل من المتغير التي تبدأ ب $HTTP_*

    مثلا في الكود الثاني تقدر تسوي حاجة زي كذا:
    كود PHP:
    <?
    $ok
    =0;
    $username="UNKNOWN";//مجرد تصفير
    if(isset($_COOKIE["cookie_password"]) and isset($_COOKIE["cookie_username"]))
    {
            
    $username=$_COOKIE["cookie_username"];
            
    $password=$_COOKIE["cookie_password"];
            
    $query="SELECT * FROM user WHERE user='$username' and password='$password' LIMIT 1";
            
    $result=mysql_query($query);
            if(
    mysql_num_rows($result)==1)
            {
                
    $ok=1;
            }
    }
    if(
    $ok==1)
    {
        echo 
    "Hello $username !!";
    }
    else
    {
        echo 
    "لا توجد بيانات كوكي أو أنها غير صحيحة";
        echo
    "<meta http-equiv='Refresh' content='1; url=admin_login.php'>";
    }
    ?>
    غير ما يلزم





    __________________
    al7amdan AT gmail

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Aug 2004
    المشاركات
    54


    الف شكر للجميع عموما
    حاولت ولكن للاسف ما زبطت


    بالنسبه اخوي اللهوب config.php
    هذا ملف الاتصال بالقاعده بس مافيه متغير اسمه $password

    عموما هو ملف اتصال وما يوجد فيه اي استعلام ولا متغير





    __________________
    ومن يتقي الله يجعل مخرجا

  7. #7


    خل نشوف الملف اللي سويته بالكامل، ممكن يكون فيه خطأ بسيط.





    __________________
    al7amdan AT gmail





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض