PDA

View Full Version : سوال: لینک فعالسازی اکانت از ایمیل باید چی باشه؟



mirahsani
چهارشنبه 06 بهمن 1389, 12:06 عصر
سلام.
من تو سایتم برای هر کس عضو میشه یک ایمیل میفرستم حاوی یک لینک فعالسازی.
اما نمی دونم اون لینک باید چی باشه و چجوری به سایتم ارجاع بدم.
ممنون می شم راهنماییم کنید.

javad.nic63
چهارشنبه 06 بهمن 1389, 12:24 عصر
یه راه اینه که یه لینک براش بفرستی که توی اون لینک یه سری اطلاعات باشه. مثلاً id کاربر و رمز تأییدش و از اینجور چیزها و با کلیک روی اون لینک اطلاعات رو از طریق query string تست کنی که درسته یا نه اگه اطلاعات درست بود اطلاعات رو تأیید کنی. لینکی که میفرستی مثلاً باید به صورت زیر باشه
http://test.com/ (http://text.com/)id=2&user=username&email=EmailName&taeed=1
و در دستورات کد نویسی querystringهای id و user و email و taeed رو می خونی اگه مثلاً توی دیتابیست همچین یوزری با اون نام یوزر و اون ایمیل و همچین شماره کاربری را داشت اون رو تأیید کنی وگرنه ردش کنی.

mirahsani
چهارشنبه 06 بهمن 1389, 12:47 عصر
خوب حالا اگه من این کارو کنم چجوری از آدرس بار بالای صفحه باید بخونم و با دیتا بیس مقایسه کنم؟

javad.nic63
چهارشنبه 06 بهمن 1389, 12:53 عصر
مثلاً اگه بخوای مقدار پارامتر id رو بخونی مینویسی


session["userid"]= convert.tostring(Request.QueryString["id"]);

بعدش از session موردنظر استفاده می کنی. حتی می تونی مستقیما با خود query string چکش کنی.

mirahsani
چهارشنبه 06 بهمن 1389, 12:58 عصر
ممنون ازلطفت. بذار چک کنم ببینم کار میکنه!! خبر میدم

mirahsani
چهارشنبه 06 بهمن 1389, 13:51 عصر
من این عبارتو نوشتم:


string ss= Request.QueryString["id"].ToString();

و runtime error گرفتم:
null reference exception was unhandled by user code
object reference not set to an instance of an object

javad.nic63
چهارشنبه 06 بهمن 1389, 14:03 عصر
وقتی شما querystring رو فراخونی می کنی باید حتماً اون پارامتر بهش داده اگه نه بهت پیغام خطا میده. یعنی باید حتماً http://test.com/?id=usercode باشه. راستی من توی لینک بالا یه کم اشتباه نوشتم . باید قبل از id یه ? باشه. باید اینطوری بنویسیش:
http://test.com/? (http://text.com/)id=2&user=username&email=EmailName&taeed=1
querystring حتماً باید توی url صفحه فراخوانی بشه. اگه نه مشکل داره.