PDA

View Full Version : نحوه تعریف شرط برای کاربر



RAYMOON
شنبه 21 خرداد 1390, 01:50 صبح
سلام به همگی دوستان من نیاز به کدهایی دارم

من می خوام دوستان اگر امکان داره راهنمایی بفرمایند

من از سی ام اس نیوک مشهد استفاده میکنم

دیتا بیس نیوک یک تیبل داره به اسم یوسر که مشخصات یوسر ها توشه (کاربران)

من یک ماژول دارم که توش می خوام کاری کنم که بعضی از افراد خاص اونو ببینن من برای این کار یک ماژول خود نیوک رو دستکاری کردم و یک تیبل جدید ساختم با چندین فیلد id.name.lname.email توی دیتا بیس

که از مدیریت بهش اسم میدم یعنی میگم که کاربر raymoon رو به تیبل اد میکنم در دیتا بیس اضافه هم میشه مشکلی هم نداره

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

حالا می خوام این کارو کنم mohsen که وارد شد (یوسر)
و رفت توی صفحه من (مثلا یک صفحه استاتیک پی اچ پی) اگر کاربر mohsen بود اجازه داشته باشه اون مطالب رو ببینه من این کارو استاتیک میتونم انجام بدم اینجوری






همین جور که میبینید دستی اسم کاربرا رو تعرف کردم برای حق دسترسی

$username1='mohsen';
$username2='raymoon';
$username3='ehsan';
$username4='hadi';




//////////////////////------این قسمت کار شناسی کاربر رو میکنه یعنی یوسر اصلی که توی سایت ثبت نام کرده رو تشخص میده

global $admin, $db, $admin_file, $prefix, $slogan,$name, $sitename,$topic, $user, $hr, $theme, $cookie, $forumpage, $adminpage, $userpage, $pagetitle, $pagetags;
$query = $db->sql_query("SELECT username FROM ".$prefix."_users WHERE username='".$cookie[1]."'");
$row = $db->sql_fetchrow($query);
$user = filter($row['username']);

////////////////////////////اینم شرط های منه که میگم این کاربرا حق دستری دارند به این پیج


if ($user==$username1 OR $user==$username2 OR $user==$username3 OR $user==$username4 ){

echo"<br><div align=\"right\"<a class=\"tooltip\" title="._NEWSPLIST."<a>"._NEWSPLIST."</a></div><br>";
echo"<div style=\"border: 0pt none; height: 100%; width: 100%; overflow: auto;\">";
$result = $db->sql_query("SELECT sid, title, comments, counter FROM " . $prefix . "$NEWS ORDER BY sid DESC LIMIT 0,10");
while ($row = $db->sql_fetchrow($result)) {
$sid = intval($row['sid']);
$title = filter($row['title'], "nohtml");
echo"<div style=\"margin:1px;\">
<div class=\"box info corners\">
<span class=\"close\" style=\"float:left;cursor:pointer;margin:7px;\">&nbsp;</span>
<div style=\"color:#333;font:none 12px tahoma;padding:3px;\">&nbsp;&nbsp;
<a class='title='$title' href=\"article-$sid--0-0.html\">$sid &nbsp;» $title &nbsp;&nbsp; $datetime &nbsp;&nbsp; $counter &nbsp;&nbsp; $aid</a></div></div></div>";
}

echo "</div>";echo "</li>\n";
}
else{
echo"<div class=\"rt4\">
<br><right>&nbsp;شما اجازه دیدن این بخش را ندارید<br>&nbsp;1-احتمالا شما عضو بخش خصوصی نیستید<br>&nbsp;2-نام کاربری شما هنوز فعال نشده
</right></center></fieldset></div>";

}






اگر مثال بالا رو ببینید متوجه میشود من برای وارد کردن اسم کاربران اونارو دستی دادم و این کار خیلی خسته کنند میشه و برنامه خیلی خیلی or باید براش درست کنی

من یک تیبل vip_user دارم براش که میتونم اسم کاربر رو توی دیتا بیس بزارم من می خوام دوستان کمک کنند که به این صورت باشه که اسم کاربرا رو که من میدم نیازی نباشه دستی توی برنامه بنویسمشون و حق دسترسی بدمشون

می خوام کدی بنویسم که وقتی اسم شخصی رو میدم توی (صفحه استاتیک پی اچ پی ) من اسمه حق دسترسی داشته باشه و اگر اسمش توی دیتا بیس نبود حق دیدن رو نداشته باشه


دوستان تاکید میکنم خود نیوک این داره که مثلا کاربر مهمان و عضو شده رو تشخیص بده من اینو بلدم من میخوام کاربری که من میگم بتونه صفحه مورد نظر منو ببینه

باتشکر و سپاس بیکران

RAYMOON
شنبه 21 خرداد 1390, 17:35 عصر
:متفکر: کسی نیست کمک کنه

alismith
شنبه 21 خرداد 1390, 20:20 عصر
سلام


من یک تیبل vip_user دارم براش که میتونم اسم کاربر رو توی دیتا بیس بزارم


من یک ماژول دارم که توش می خوام کاری کنم که بعضی از افراد خاص اونو ببینن من برای این کار یک ماژول خود نیوک رو دستکاری کردم و یک تیبل جدید ساختم با چندین فیلد id.name.lname.email توی دیتا بیس

که از مدیریت بهش اسم میدم یعنی میگم که کاربر raymoon رو به تیبل اد میکنم در دیتا بیس اضافه هم میشه مشکلی هم نداره

اگه شما این جدول رو درست کردید و به مقادیر اون دسترسی دارید

به جای این دستورات :



$username1='mohsen';
$username2='raymoon';
$username3='ehsan';
$username4='hadi';


باید در ابتدا نام کاربری را به دست بیاورید
مطابق مثال شما :



$query = $db->sql_query("SELECT username FROM ".$prefix."_users WHERE username='".$cookie[1]."'");
$row = $db->sql_fetchrow($query);
$user = filter($row['username']);


در اینجا نام کاربری را در متغییر user قرار می دید
حالا باید مطابق مقادیر جدولی که ساختید یک query بگیرید
اینطوری :



$sql = "SELECT username FROM `vip_user` WHERE `username`= $suer";
$result = mysql_query($sql);
if(mysql_num_rows($result)){

//show anything...

}else{

//hide anything...

}


دقت داشته باشید که در اینجا حتما نام کاربری ای که در جدول vip_user ذخیره می کنید باید مطابق نام کاربری اصلی کاربر در جدول _users باشد

موفق باشید