برگزیده های پرشین تولز

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

taksoftware

کاربر تازه وارد
تاریخ عضویت
22 سپتامبر 2005
نوشته‌ها
108
لایک‌ها
0
سن
35
سلام دوستان من یه اسکریپ نوشتم براش یه قسمت کنترل پنل ساختم
وقتی مدیر یوزر پسورد رو وارد میکنه لاگین میشه میره تو سیستم
اینم کدش که داخل فایلی به نام 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 رو اجرا کنم نمایش میده واین از نظر امنیتی مشکل داره
من میخواستم بدونم چه کدی بنویسم که اگه کاربر لاگین نشده اینو نمایش نده حتما کاربر باید وارد ادمین شده باشه تا بتونه اینها رو ببینه
 

first saeed

Registered User
تاریخ عضویت
25 آگوست 2005
نوشته‌ها
815
لایک‌ها
2
سن
41
محل سکونت
PubliC_HtmL
بايد از session استفاده کني

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

taksoftware

کاربر تازه وارد
تاریخ عضویت
22 سپتامبر 2005
نوشته‌ها
108
لایک‌ها
0
سن
35
همینجا بنویسد دیگه اگه پس فردا یکی از گوگل اومد اینجا تو همین تاپیک تمومشو بفهمه به این ور اون ور پاس ندید کسی چیزی نمیفهمه
54.gif
 

first saeed

Registered User
تاریخ عضویت
25 آگوست 2005
نوشته‌ها
815
لایک‌ها
2
سن
41
محل سکونت
PubliC_HtmL
چشم :blink:

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

taksoftware

کاربر تازه وارد
تاریخ عضویت
22 سپتامبر 2005
نوشته‌ها
108
لایک‌ها
0
سن
35
اگه این کارو بکنی اقای
46.gif
 

mohsenshahbazi

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

session_start();

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

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


ممنون

محسن!
 

Mehdi

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

artin

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

Mehdi

مدیر بازنشسته
تاریخ عضویت
1 آگوست 2004
نوشته‌ها
5,602
لایک‌ها
49
محل سکونت
Anywhere
اره مشكل اينجاست كه اونجا هم باز بشه بازم اينجا سوال ميكنن
 

artin

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

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

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

Mehdi

مدیر بازنشسته
تاریخ عضویت
1 آگوست 2004
نوشته‌ها
5,602
لایک‌ها
49
محل سکونت
Anywhere
احسان يه چيزايي گفت هيچي نفهميدم:D
بهش ميگم خودش بياد درست كنه
65.gif
 

first saeed

Registered User
تاریخ عضویت
25 آگوست 2005
نوشته‌ها
815
لایک‌ها
2
سن
41
محل سکونت
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:
 

taksoftware

کاربر تازه وارد
تاریخ عضویت
22 سپتامبر 2005
نوشته‌ها
108
لایک‌ها
0
سن
35
معرکه بود حرف نداشت ایول
41.gif

شرمندمون کردی
44.gif
46.gif
 

first saeed

Registered User
تاریخ عضویت
25 آگوست 2005
نوشته‌ها
815
لایک‌ها
2
سن
41
محل سکونت
PubliC_HtmL
خواهش مي کنم قابلي نداشت ;)

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

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
راستی اگه خواستین این راهنمای مسخره منو هم بخونین بد نیستا!!!
تو وبلاگ هست
 

Shahed

کاربر قدیمی پرشین تولز
تاریخ عضویت
30 ژوئن 2003
نوشته‌ها
7,270
لایک‌ها
34
محل سکونت
mt.cgi
به نقل از sama_sally :
راستی اگه خواستین این راهنمای مسخره منو هم بخونین بد نیستا!!!
تو وبلاگ هست
آره !
هموني که قسمت آخرشم ننوشتي !
32.gif
 

carp3

کاربر تازه وارد
تاریخ عضویت
15 آپریل 2005
نوشته‌ها
1,318
لایک‌ها
1
سن
94
58.gif

اون واسه این بود که وبلاگش اول بینندش زیاد بشه
مثله آموزش پی اچ پی تو پی تی
یا تو وبلاگه من
35.gif
 
بالا