آژانس هواپیماییexchanging

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

شروع موضوع توسط taksoftware ‏17 ژانویه 2006 در انجمن PHP

  1. taksoftware

    taksoftware کاربر تازه وارد

    تاریخ عضویت:
    ‏22 سپتامبر 2005
    نوشته ها:
    108
    تشکر شده:
    0
    سلام دوستان من یه اسکریپ نوشتم براش یه قسمت کنترل پنل ساختم
    وقتی مدیر یوزر پسورد رو وارد میکنه لاگین میشه میره تو سیستم
    اینم کدش که داخل فایلی به نام login.php هست
    PHP:
    <?php
    $login
    =0;
    if(
    $user=="$adlog"){
    if(
    $pass=="$adpas"$login=1;
    }
    if(
    $login==1){
    include(
    "admin.php");
    }
    ?>
    همون طور در کد میبیند اگه پسورد و شناسه درست باشه داخل فایل admin.php میشه
    بعد من چند تا صفحه دیگه هم داخل این صفحه ساختم مثلا" به نام تغیر رمز عبور edit_pass.php ,...
    تنها مشکلی که دارم اینه که اگه فایل yuorsite.com/patch/edit_pass.php رو اجرا کنم نمایش میده واین از نظر امنیتی مشکل داره
    من میخواستم بدونم چه کدی بنویسم که اگه کاربر لاگین نشده اینو نمایش نده حتما کاربر باید وارد ادمین شده باشه تا بتونه اینها رو ببینه
     
  2. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    بايد از session استفاده کني

    اگر همين جا سرچ کني فکر کنم يه چيزايي در موردش پيدا کني
     
  3. taksoftware

    taksoftware کاربر تازه وارد

    تاریخ عضویت:
    ‏22 سپتامبر 2005
    نوشته ها:
    108
    تشکر شده:
    0
    همینجا بنویسد دیگه اگه پس فردا یکی از گوگل اومد اینجا تو همین تاپیک تمومشو بفهمه به این ور اون ور پاس ندید کسی چیزی نمیفهمه [​IMG]
     
  4. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    چشم :blink:

    الان حالش نيست اگه تا فردا بروبچ ديگه برات ننوشته بودن خودم همينجا مي نويسم برات;)
     
  5. taksoftware

    taksoftware کاربر تازه وارد

    تاریخ عضویت:
    ‏22 سپتامبر 2005
    نوشته ها:
    108
    تشکر شده:
    0
  6. mohsenshahbazi

    mohsenshahbazi همکار بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏21 ژوئن 2004
    نوشته ها:
    4,018
    تشکر شده:
    3,858
    محل سکونت:
    اصفهان
    شما باید در صفحه لوگین ..بعد از تایید نام کاربر و کلمه عبور از این دستور استفاده کنی ..

    session_start();

    این باعث میشه که برای کاربر جاری یه جلسه با یک شماره جلسه منحصر به فرد ایجاد بشه که فقط مخصوص همین کاربر هست ..
    اما مشکلی که هست ...
    من خودم هنوز نتونستن این جلسه (session) رو از این صفحه به صفحه بعد ببرم ..یعنی کاربر در صفحه دوم هنوز در پرتو همون جلسه ایجاد شده باشه ..

    ممنون میشم اگه کسی بلده اینجا توضیح بده ..


    ممنون

    محسن!
     
  7. appbannerkhuniresbanner
  8. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    ببين منم مشكل پيدا ميكنم بعضي وقتها ولي تند تند اينجا پست نميدم مشكلم حل بشه
    يخورده هم از اين يارو بپرس اگه ندونست بيا اينجا
    www.google.com
    بخدا هرچي ميپرسي ميدونه فقط بايد درست بپرسي ازش
    منم حرفه اي نيستم ولي رفتم دنبالش پيدا كردم
    فقط ايندفعه
    مثال
    PHP:
    $_session['login']="true";
    حالا برا چك كردن
    if ($_session['login']=="true"){
    print
    "right login";
    }
    else{
    print
    "not login";
    }
     
  9. artin

    artin کاربر تازه وارد

    تاریخ عضویت:
    ‏19 می 2004
    نوشته ها:
    2,112
    تشکر شده:
    2
    mehdvirus
    فکر کنم یه members area هم تو قسمت آموزش PHP بزاری بدک نمیشها ! چون خیلی دربارش سئوال میشه
     
  10. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    اره مشكل اينجاست كه اونجا هم باز بشه بازم اينجا سوال ميكنن
     
  11. artin

    artin کاربر تازه وارد

    تاریخ عضویت:
    ‏19 می 2004
    نوشته ها:
    2,112
    تشکر شده:
    2
    خوب اینجا دیگه باید دوستان کمک کنن چچه اونایی که می خوان سئوال کنن و چه اونایی که می خوان جواب بدن

    نباید سئوالش پرسیده بشه و اگر هم پرسیده میشه باید لینک قسمت آموزش رو بدن فقط همین

    راستی اون قضیه sort چی شد ؟
     
  12. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    احسان يه چيزايي گفت هيچي نفهميدم:D
    بهش ميگم خودش بياد درست كنه[​IMG]
     
  13. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    سلام
    مهدي ويروس جان چي شده شاک زدي ؟:blink:

    با اجازه اساتيد فروم من يه کد ساده session رو مي زارم اينجا تا بروبچ استفاده کنن

    ببينيد ما يک يا چند تا صفحه داريم که مي خوايم فقط خودمون يا يه سري افراد خاص بهش دسترسي داشته باشن

    براي اينکار ما به يه صفحه login براي ورود به اين صفحات احتياج داريم و يک صفحه logout براي خروج

    اول صفحه login :اين صفحه به اسم index ذخيره شده :
    PHP:
    <?
      
    session_start();
      
    ob_start();

    //فرم دريافت کننده نام کاربري و کلمه عبور
    print "

      <html>
      <head>
      <meta http-equiv='Content-Type' content='text/html; charset=windows-1256'>
      <title>login</title>
      </head>

      <form name=log method=post action=index.php>

    <table width=200px  cellpadding=0 cellspacing=1 border=0 align=center >
     <tr>
       <td width=80>نام کاربري:</td>
       <td width=120> <input type=text name=username> </td>
     </tr>
     <tr>
       <td width=80>کلمه عبور:</td>
       <td width=120> <input type=password name=password> </td>
     </tr>
     <tr>
       <td width=80>  <input type=reset value='از نو'> </td>
       <td width=120> <input type=submit name=submit value='ورود'> </td>
     </tr>
    </table>
     </form>"
    ;


     
    $username=$_POST["username"];
     
    $password=$_POST["password"];
     
    $submit=$_POST["submit"] ;

        if (empty(
    $username))
                              { 
    $error"نام کاربري وارد نشده است";
           }
        elseif (empty(
    $password)) {
                
    $error"کلمه عبور وارد نشده است";
           }
        else{

              
    $adminu='??????';
              
    $adminp='??????';


              if(
    $username != $adminu or $password != $adminp)
                                                               {
                                                                 
    $error"نام کاربري يا کلمه عبور اشتباه است<br><br>";   }




              elseif(empty(
    $error)) {
                                        
    session_register("admin_name");
                                        
    $_SESSION["admin_name"] = $username;

                                        
    header("Location:index1.php");

                                         exit();

              }
              }

             if(isset(
    $submit)){


             print 
    "<div id=eror>$error</div>";
             }

         
    ob_end_flush();
    ?>
    دقت کن که قبل از session_start هيچ جيزه ديگه اي نبايد باشه اينکدينگتم يونيکد نباشه

    اونجايي هم که علامت سوال گذاشتم بايد نام کاربري و کلمه عبور رو تعريف کني يا اينکه مي توني اونا رو از ديتا بيس هم بخوني
    حالا براي تعيين اينکه اگر کاربر مشخصات رو درست وارد کنه به کدوم صفحه بره بايد تو قسمت session_register اينو براش تعريف کني. که در کد بالا در مي بيني که به اين صورت تعريف شده :
    PHP:
     header("Location:index1.php"); 
    بجاي index1.php اسم صفحه اي رو بذار که مي خواي بعد از لاگين وارد اون صفحه بشي

    خوب حالا مي رسيم به صفحاتي که مي خوايم با اين session به اونا دسترسي داشته باشيم
    کافيه اين چند خط کد رودر بالاترين قسمت اون صفحات بنويسيم
    PHP:
    <?
     
    session_start();
      
    ob_start();
     if(!isset(
    $_SESSION["admin_name"])) {
      
    header("Location: index.php");
        exit();
      }
      
    ?>
    در کد بالا مي گيم که اگر کاربر بدون session وارد اين صفحه مي خواد بشه اونو به صفحه index بر گردونه

    خوب حالا مي مونه خروج از session
    براي اينکار کافيه اين چند خط کد رو تو يه صفحه به اسم مثلا logout بنويسي:
    PHP:
    <?
    session_start();
    session_unset();
    session_destroy();
    ?>
    همين :blush:
     
  14. avajang.com .leftavajang.com.right
  15. taksoftware

    taksoftware کاربر تازه وارد

    تاریخ عضویت:
    ‏22 سپتامبر 2005
    نوشته ها:
    108
    تشکر شده:
    0
    معرکه بود حرف نداشت ایول [​IMG]
    شرمندمون کردی [​IMG] [​IMG]
     
  16. first saeed

    first saeed Registered User

    تاریخ عضویت:
    ‏25 آگوست 2005
    نوشته ها:
    813
    تشکر شده:
    2
    محل سکونت:
    PubliC_HtmL
    خواهش مي کنم قابلي نداشت ;)

    راستي شما چطوري اينجا از شکلکهاي ياهو استفاده مي کنيد؟:blink:
     
  17. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
  18. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
  19. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    راستی اگه خواستین این راهنمای مسخره منو هم بخونین بد نیستا!!!
    تو وبلاگ هست
     
  20. Shahed

    Shahed کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    31
    محل سکونت:
    mt.cgi
    آره !
    هموني که قسمت آخرشم ننوشتي ! [​IMG]
     
  21. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
    [​IMG]
    اون واسه این بود که وبلاگش اول بینندش زیاد بشه
    مثله آموزش پی اچ پی تو پی تی
    یا تو وبلاگه من [​IMG]
     
  22. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    نه بجون خودم!!! :lol: میخواستم مردمو سر کار بذارم!