PDA

View Full Version : سوال: ارسال اطلاعات به همراه نام کاریر



pasha86
پنج شنبه 05 اسفند 1389, 15:15 عصر
با سلام خدمت تمام دوستان..
من با استفاده از تایپیک فیلم های اموزشی صفحاتی رو ساختم که کاربر ثبت نام کنه .لاگین کنه .و در یه صفحه مجزا اطلاعاتی رو برای دیتابیس ارسال کنه ......ولی فقط اطلاعات رو در دیتابیس دارم و نمیدونم که چه کاربری چه اطلاعاتی ارسال کرده...میخواستم بپرسم چطور و چکاری باید بکنم که اطلاعات ارسالی همراه با نام کاربری که اطلاعات رو ارسال کرده در دیتابیسم ثبت بشه..و یه جورایی تفکیک بشن....من از linq استفاده کردم.

ممنون میشم کمکم کنید...

aliasghar2
پنج شنبه 05 اسفند 1389, 18:02 عصر
سلام دوست عزیز

واسه ارسال نام کاربری که در حال استفاده از سایت و لاگین کرده می تونی از کد زیر استفاده کنی
user.indenty.name
نام کاربری ه در حال استفاده است رو بر میگردونه

jaykob
پنج شنبه 05 اسفند 1389, 18:17 عصر
با سلام خدمت تمام دوستان..
من با استفاده از تایپیک فیلم های اموزشی صفحاتی رو ساختم که کاربر ثبت نام کنه .لاگین کنه .و در یه صفحه مجزا اطلاعاتی رو برای دیتابیس ارسال کنه ......ولی فقط اطلاعات رو در دیتابیس دارم و نمیدونم که چه کاربری چه اطلاعاتی ارسال کرده...میخواستم بپرسم چطور و چکاری باید بکنم که اطلاعات ارسالی همراه با نام کاربری که اطلاعات رو ارسال کرده در دیتابیسم ثبت بشه..و یه جورایی تفکیک بشن....من از linq استفاده کردم.

ممنون میشم کمکم کنید...

سلام دوست عزیز

برای این کار شما زمانی که Session خودتون رو ایجاد می کنید id کاربر رو همراهش داشته باشید به شکل زیر :



Session.Add("UserID", quary.user_id.ToString());


خوب برای اینکه کاربر رو شناسایی کنید باید یک شی از روی کاربر بسازید و می تونید به تمامی رکورد اون کاربر در دیتابیس دسترسی داشته باشید . من بر اساس یکسری فیلد براتون نوشتم . در LINQ به شکل زیر عمل کنید :




string ConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;
ClassDataContext ctx = new ClassDataContext(ConnectionString);
tbl_user objUser = (from u in ctx.tbl_users
where u.user_id == Int32.Parse(Session["UserID"].ToString())
select u).First<tbl_user>();
txtUsercpRealName.Text = objUser.user_realname;
txtUsercpAddress.Text = objUser.user_address;
txtUsercpFamily.Text = objUser.user_family;
txtUsercpMobile.Text = objUser.user_mobile;
txtUsercpPhone.Text = objUser.user_phone;
txtUsercpEmail.Text = objUser.user_email;


کد واضح هستش در ابتدا کانکشن استرینگ را از web.config می خوانیم و بعد یک نمونه از کلاس LINQ می سازیم و یک پرس و جو می نویسیم به شکلی که رکوردی که ID آن برابر با ID باشه که همراه Session ما آمده باشه و داخل شی از نوع objUser قرار می دهیم توجه کنید که tbl_user نام جدول ماست . در نهایت هم فلید های کاربر را مقابل TextBox هایی قرار دادم که می تونید امتحان کنید و ببینید که تنها اطلاعات همان کاربر وارد شده است

پیروز باشید

pasha86
شنبه 14 اسفند 1389, 19:41 عصر
ممتون میشم اگر یه مقدار مبتدیانه توضیح بدید..من تازه شروع کردم ..
سورس من برای insert اطلاعات اینه

<div align="left">
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication3
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
DataClasses1DataContext db = new DataClasses1DataContext();
db.stocks.InsertOnSubmit(new stock { tel = TextBox1.Text, mobile = TextBox2.Text });
db.SubmitChanges();
}

protected void Button2_Click(object sender, EventArgs e)
{
DataClasses1DataContext db = new DataClasses1DataContext();
GridView1.DataSource = db.stocks;
GridView1.DataBind();
}
}
}
من از web application در visual studio استفاده میکنم که خودش به صورت پیشفرض صفحات ثبت نام و لاگین رو داره ..
حالا تو این کد باید چی کار کنم که user name کاربری که لاگین کرده و اطلاعاتش رو میفرسته به دیتابیسم هم بیاد ؟؟

pasha86
شنبه 14 اسفند 1389, 20:35 عصر
دوستان من فقط میخوام اطلاعاتی که کاربرا میفرستن همراه با نام کاربری که باهاش لاگین کردن بره تو table های دیتابیسم .. اگر روش دیگه ای هم باشه فرقی نمیکمه ...ممنون میشم راهنماییم کنید ..شدیدا لازم دارم