View Full Version : سوال: ثبت نظر در سایت فقط برای یک بار
iran_sky
سه شنبه 13 مهر 1389, 00:31 صبح
با سلام به دوستان
در صفحه ام من یک جایی رو برای ارسال نظرات در نظرم گرفت که افرادی که وارد سایت میشن نظرات خود را اونجا ثبت میکنند
میخوام کاربر فقط یک دفعه بتونه ثبت کنه نظر شو
دوستانی که زحمت میکشند راهنمایی میکند فقط کامل و دقیق :تشویق::تشویق::تشویق:
باتشکر
majnun
سه شنبه 13 مهر 1389, 00:35 صبح
خب میتونید یه فیلد درون هر نظر بزارین به عنوان userid بعد اگه کاربر نظر داد چک کنید ببینید اون id وجود نداشته باشه بعد نظرو ثبت کنید ...
:چشمک:
iran_sky
سه شنبه 13 مهر 1389, 00:50 صبح
خب میتونید یه فیلد درون هر نظر بزارین به عنوان userid بعد اگه کاربر نظر داد چک کنید ببینید اون id وجود نداشته باشه بعد نظرو ثبت کنید ...
:چشمک:
سلام ببخشید من منظورمو کامل مطرح کردم
برای کاربران غیر عضو چی
majnun
سه شنبه 13 مهر 1389, 01:32 صبح
خب برای کاربران غیر عضو فکر نکنم بشه کاری کرد
میشه مثلا ip رو بگیری بعد بکی با این آی پی قببلا کسی نظر داد که اینم همچین خوب نیست
معمولا میگن غیر عضو ها نظر ندن :لبخند:
hamhik
سه شنبه 13 مهر 1389, 01:50 صبح
برای تشخیص اینکه کاربر عضو سایت شما هست یا نه از User .Identity .Name میشه استفاده کرد اگر User .Identity .Name =="" بود یعنی کاربر عضو نیست و در نتیجه visible اشیا مربوط به ارسال نظرات رو برابر با false می کنید اگر User .Identity .Name !="" بود یعنی کاربر عضو هست و visible اشیا مربوط به ارسال نظرات رو برابر true می کنید
alonemm
سه شنبه 13 مهر 1389, 09:16 صبح
خب میشه پس از ثبت نظر یک کوکی ثبت کنید و مدت اونو هم بزارید.
اول چک کنید که این کوکی وجود نداشته باشه سپس عملیات ثبت انجام بشه.
iran_sky
سه شنبه 13 مهر 1389, 09:53 صبح
خب میشه پس از ثبت نظر یک کوکی ثبت کنید و مدت اونو هم بزارید.
اول چک کنید که این کوکی وجود نداشته باشه سپس عملیات ثبت انجام بشه.
باسلام به همه دوستان و تشکر از همه عزیزان
یکی یک نمونه مثال برای من بزنه من چیزی زیادی بلد نیستم
کمکم کنید
pedram_ns
سه شنبه 13 مهر 1389, 09:59 صبح
به نظر من در دیتابیست یک فیلد برای ip تعریف کن با ثبت هر نظر ip کاربر رو هم ذخیره کن.
حالا قبل از ثبت نظر باید ip فرد رو با دیتابیست مقایسه کنی و اگر اون ip در دیتابیست بود به این معنی که این کاربر ( البته با این سیستم) قبلا نظر داده و نظرش رو ثبت نمی کنی.
کد بدست اوردن ip:
ClientIP = Request.UserHostAddress
sasansara
سه شنبه 13 مهر 1389, 13:03 عصر
نگهداشتن IP که فایده نداره. چون همه کاربرا که static IP ندارن. به نظر من تنها روش استفاده از کوکی هستش
hamhik
سه شنبه 13 مهر 1389, 13:27 عصر
شما اگه می خواید کاربر عضو فقط یک بار تو سایت شما نظر بگذاره از روشی استفاده کنید که majnun گفتن .یعنی شما فیلدی با نام userid یا username در جدولتون بسازید و هر کاربر که در سایت شما نظر میده userid و username ش تو جدول مربوط به نظرات ذخیره بشه.و وقتی کاربر وارد قسمت نظرات میشه شما بیایید تو قسمت page_load چک کنید که آیا username این کاربر توجدول هست یا نه اگه بود که visible اشیا مربوط به ارسال نظرات را برابر false قرار می دهید
و برای اینکه فقط کاربران عضو برای شما نظر بگذارند از همون User .Identity .Name که در پاسخ قبلی گفتم استفاده کنید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.