PDA

نسخه کامل مشاهده نسخه کامل : کد شمارش تعداد کلیک رو میخواستم



king4ever
22-04-2008, 14:42
سلام
من یه کدی میخواستم که بتونم اونو جلویه هر لینکی که دلم بخواد مثلا [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] بزارم بعد وقتی کاربر روی اون کلیک کرد شمارش ورود به اون لینک رو جلوش نشون بده .
مثلا : [
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید [4] click
میشه با html درست شه یا اصلا همچین چیزی درسته نمیشه ؟
منتظرم :11:

dogtag
22-04-2008, 17:46
باید حتماً Server Side کار کنی
ولی من الان خدایی وقت ندارم که توضیح بدم
اشالا سرم خلوت شد برات می نویسمش

Bill Gates
22-04-2008, 18:31
حالا کسه دیگه ای جز داگتگ مشکل گشا نیست جواب بده یعنی یه مشکل گشای دیگه ای باشه؟؟

تشکر// :دی

dogtag
22-04-2008, 19:13
king4ever جان این DogTag توی عکست حسابی داره به من حال میده
سعی می کنم کار هام رو زود تموم کنم تا کارت رو راه بندازم
ولی معمولاً برای این کار از دیتابیس استفاده میشه

Bill Gates
22-04-2008, 20:10
اومدو 46846 کلیک شد دیتابیش به نظرتون این موقع خوبه؟؟
اگر که بشه تو یه فایل متنی بزاره عالیه

dogtag
22-04-2008, 21:34
خب بشه
ایرادی نداره. فقط عدد Save میشه دیگه

Bill Gates
22-04-2008, 21:50
تو فایل متنی یه عدد میزاریم مثلا 1
هر دفعه که کلیک میشه این رو باز کنه و یک رو + 1 کنه که میشه 2

Ultimator
22-04-2008, 22:21
سرعت ديتابيس خيلی بيشتر از فايله ! اصلا همچين کاری با فايل منطقی نيست اگه ميشد اصلا ديتا بيس سرور ها معنی نداشتند . فکر کن چند نفر هم زمان کليک ميکنن
46846 تا که هيچی 468464684646846 تا هم بشه با ديتا بيس مشکلی ايجاد نميشه

neopersia
22-04-2008, 22:24
به نظرم اگه با دیتابیس کار بشه بهتره
چند تا عدد که برای دیتابیس چیزی نیست در مقابل اون همه متنی که توش ذخیره میشه
حالا اگه نمیخواید از mysql استفاده کنیم مثلاً میشه این کارو به راحتی با sqlite انجام داد چون هم دیتابیس هست و وارد کردن و گرفتن داده ها از اون آسون و مطمئن تره و هم اینکه فکر میکنم از کار با فایلها خیلی سریعتر باشه و فشار کمتری به سرور میاره
اسکرپتش هم نوشتنش کار مشکلی نیست همه لینکها رو با متد GET میفرستیم به اسکرپت و اونم بعد از آپدیت کردن رکورد اون لینک کاربر رو ریدایرکت میکنه به صفحه مربوط به لینک

Bill Gates
23-04-2008, 12:32
سلام
اگر میشه یه نمونه کد با توضیحاتی که دادید قرار بدین اینجا

تشکـــر//

Ultimator
23-04-2008, 18:30
این sqllite رو چطوری میشه روی یه سرور تو وب نصب کرد ؟ ؟ ؟ ! ! ؟ !؟ !

dogtag
23-04-2008, 19:01
شما که نمی تونی نصب کنی
باید صاحب سرور برات نصب کنه

Ultimator
23-04-2008, 19:07
منم منظورم همینه ، روشهایی رو معرفی کنید تا کاربردی باشن ! صاحب سرور معمولا ازین کارا نمیکنه !

Bill Gates
23-04-2008, 19:51
vase chi az in kara nemikone?!! :d

man alan che konam ke in amal ro anjam bedam meghdare click ro andazegiri konam??
dogtag ye mesal mizani? ya ostadane digar :D

Ultimator
23-04-2008, 19:58
خوب شما اول چندتا چندتا تو کش ذخیره کن بعد مثلا هر 10 دقیقه اطلاعات تو کش رو به دیتابیس اظافه کن
این بهترین راهه . به هیچکی هم فشار نمیاد ( غیر از کش سرور که اون حقشه ! اصلا وظیفشه !!!)
کد Php رو شرمندم !!!!! نوع داتنتی اگه خواستی خبرم کن ...

dogtag
23-04-2008, 20:03
می خوای 1 دور هم googling کن ببین چی دستت میاد
خدایی وقت ندارم برم آب بخورم

neopersia
23-04-2008, 20:21
این sqllite رو چطوری میشه روی یه سرور تو وب نصب کرد ؟ ؟ ؟ ! ! ؟ !؟ !
من sqlite رو برای نمونه گفتم چون دیتابیس هست و میشه راحت این کاری رو که میخوایم باهاش انجام بدیم
از دیتابیس انجینهای دیگه هم استفاده کرد و یا با همون mysql انجامش داد
خود sqlite نیاز به نصب شدن نداره چون یه سرور نیست فقط برنامه ای که از این دیتابیس انجین استفاده میکنه باید اونو بشناسه و بدونه چطوری باهاش رفتار کنه که این کار با اضافه کردن درایور sqlite به اون برنامه امکان داره
برای php توی ویندوز یه فایل dll هست که به صورت پیش فرض هم توی php 5 وجود داره و تنها کاری که باید کرد اینه که اونو توی تنظیمات php فعال کنید من چون سایت خودمو با همین موتور نوشتم یه مدت دنبال هاستهایی بودم که sqlite داشته باشن
اینطور که من دیدم خیلی از هاستهای موجود (البته لینوکس + php) این اکستنشن رو برای php دارن

-----------------------------
من خودم امشب یه نمونه از اون روشی رو که گفتم با همون mysql مینویسم و همینجا میزارم

Ultimator
23-04-2008, 20:22
من sqlite رو برای نمونه گفتم چون دیتابیس هست و میشه راحت این کاری رو که میخوایم باهاش انجام بدیم
از دیتابیس انجینهای دیگه هم استفاده کرد و یا با همون mysql انجامش داد
خود sqlite نیاز به نصب شدن نداره چون یه سرور نیست فقط برنامه ای که از این دیتابیس انجین استفاده میکنه باید اونو بشناسه و بدونه چطوری باهاش رفتار کنه که این کار با اضافه کردن درایور sqlite به اون برنامه امکان داره
برای php توی ویندوز یه فایل dll هست که به صورت پیش فرض هم توی php 5 وجود داره و تنها کاری که باید کرد اینه که اونو توی تنظیمات php فعال کنید من چون سایت خودمو با همین موتور نوشتم یه مدت دنبال هاستهایی بودم که sqlite داشته باشن
اینطور که من دیدم خیلی از هاستهای موجود (البته لینوکس + php) این اکستنشن رو برای php دارن

-----------------------------
من خودم امشب یه نمونه از اون روشی رو که گفتم با همون mysql مینویسم و همینجا میزارم


ممنون از اطلاعات مفیدتون طبیعتا من نمیدونستم !

اگه مثال خواستین بذارین لطفا کش دار باشه تا کارایی خوبی هم داشته باشه !

neopersia
24-04-2008, 14:27
من یه اسکرپت ساده نوشتم که آدرس صفحه رو از لینکی که میخوایم کلیکهاش شمرده بشه میگیره و توی دیتابیس mysql ذخیره میکنه
برای استفاده از این اسکرپت اول باید یه جدول توی یه دیتابیس براش بسازید با ساختار زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این اسکرپت آدرس صفحه مورد نظر رو از متغیر url توی قسمت href لینک میگیره و اگر آدرس صفحه توی جدول وجود نداشته باشه براش یه رکورد با بازدید 1 میسازه و اگر آدرس صفحه قبلاً توی دیتابیس وارد شده باشه یکی به تعداد بازدیدهای قبلی اضافه میکنه
بعد از اینکه کارش با دیتابیس تموم شد بازدید کننده رو ریدایرکت میکنه به صفحه مورد نظر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
امیدوارم مفید باشه

king4ever
24-04-2008, 16:28
دوستان از همتون ممنون
ولی من از Php سر در نمیارم زیاد !!! :41:

مثلا من حالا یدونه صفحه Html دارم و توی اون کلی لینک هست فقط میحواستم بدونم میشه جلوی هر لینک به یه روشی ساده تعداد کلیک گزاشت ؟ یا حتما باید از php استفاده کنم . خوب اگه از php استفاده کردم چطوری اونو توی html قرار بدم ؟
خیلی شرمنده ها :11:

neopersia
24-04-2008, 17:01
اینکه شما Php یاد ندارید یه کم کارو مشکل کرد
حالا وارد کردن تعداد کلیکها رو میشه یه جوری با همون اسکرپت که نوشتم درست کرد چون زیاد سخت نیست
ولی برای نشون دادن تعداد کلیکها میخواید چکار کنید؟

dogtag
24-04-2008, 17:41
شما که تا تهش رفتی، خب این رو هم بگو دیگه
یه دونه تابع براش بنویس که با دادن آدرس لینک بره از دیتابیس تعداد کلیک ها رو در بیاره و نشون بده دیگه
این که کاری نداره


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

neopersia
24-04-2008, 18:47
مسیح جان شاید برای من و شما زیاد مشکل نباشه چون قبلاً php کار کردیم ولی خوب برای کسی که php کار نکرده باشه گیج کننده میشه
نوشتن تابع کاری نداره ولی در صورتی که درست استفاده نشه ممکنه اگه تعداد لینکها تو صفحه زیاد باشه در مقابل بازدید بالا سرور رو ناکار کنه اونوقت کافیه شرکت هاستینگ یه خورده بی انصاف باشه. درجا سایتو میبنده!

dogtag
24-04-2008, 19:58
خب اگر کل لینک ها رو بگیره و بعد هر کدوم رو خواست انتخاب کنه چی؟
ترافیک درست می شه؟

Ultimator
24-04-2008, 20:04
خب اگر کل لینک ها رو بگیره و بعد هر کدوم رو خواست انتخاب کنه چی؟
ترافیک درست می شه؟

مثل اينکه اصلا پست منو نخوندين !:31: يا php قابليت استفاده از کش(cache ) نداره ؟ :46:

dogtag
24-04-2008, 22:33
من با کش شلوار Php تا حالا ور نرفتم، اگر کسی تجربه داره بیاد بگه

neopersia
25-04-2008, 02:22
نیما جان فکر نمیکنم استفاده از کش در این مورد زیاد کارآمد نباشه چون هر بار که روی لینکی کلیک میشه باید کش بازسازی بشه
راستی اگه شما بخواید با دات نت همچین کاری بکنی چه کار میکنی؟

نظر من در این مورد اینه:
اگر لینکهای هر صفحه مشخص باشه میتونیم تعداد کلیک همه لینکهای صفحه رو یکجا از دیتابیس در بیاریم و کانکشن رو ببندیم حالا چون بقیه صفحه استاتیکه این لینکها و تعداد بازدیدشونو توی یک آرایه جاوا اسکرپت بفرستیم برای بازدید کننده و بعدش راحت با یه تابع جاوا اسکرپت میشه تعداد بازدید هر لینک رو جلوش نمایش داد.

این چیزیه که فعلاً به ذهنم میرسه احتمالاً روشهای بهتری هم وجود داره
کسی نظر دیگه ای نداره؟

Ultimator
27-04-2008, 21:56
سلام ببخشيد من نديده بودم منو خطاب کردين ...
نميدونم تو دات نت که توصيه ميشه بيشتر از کش استفاده کنيم تا فشار کمتری رو سرور بياد . مورد شما رو نميدونم
فعلا هم که اساتيد دات نت رفتن مرخصی ! من يه چيزی سر هم کردم فقط محض آشنايی ، با سی شارپ هم نوشتم که php کارای عزيز راحت تر تحليلش کنند.
البته از متدهای ديگه اي هم استفاده شده که ننوشتم !يعنی کامل نيست
اصلا شرمنده بحثتونو عوض کردم

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته اگه صفحه کاملا استاتيک باشه به مشکل بر ميخوريم !

neopersia
27-04-2008, 22:30
البته اگه صفحه کاملا استاتيک باشه به مشکل بر ميخوريم !
آره مشکلترین قسمتش همینه اگر صفحه داینامیک باشه راحت میشه تعداد کلیکها رو وارد صفحه کرد