مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

razor

عضویت از 1393/10/13

مشکل در sassion

  • پنجشنبه 7 اردیبهشت 1396
  • 14:26
تشکر میکنم

با عرض سلام وخسته نباشید

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

فایل در ضمیمه قرار دادم.کسانی که بلدن لطفآ قسمتی که باید اصلاح کنمو بگید به همراه کد ممنون میشم.

پاسخ های این پرسش

تعداد پاسخ ها : 8 پاسخ
کاربر سایت

razor

عضویت از 1393/10/13

  • سه شنبه 12 اردیبهشت 1396
  • 17:29

دوستان لطفا راهنمایی کنید

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 12 اردیبهشت 1396
  • 18:22

کدتون رو قرار بدید

از طریق کلید کد در ادیتور و مشکل را کامل توضیح دهید

کاربر سایت

razor

عضویت از 1393/10/13

  • چهارشنبه 13 اردیبهشت 1396
  • 18:54

من از کد زیر واسه تهیه کد کپچه استفاده میکنم:

 string text = "123456789";
        string code = "";
        Random rnd = new Random();
        for (int i = 1; i <= 4; i++)
        {
            int start = rnd.Next(0, text.Length);
            string one_char = text.Substring(start, 1);
            code += one_char;

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

        Session.Add("cod", code);
        Session["code"] = code;
        Label1.Text = code; 

protected void Button1_Click(object sender, EventArgs e)
    {

            if (TextBox1.Text == Label1.Text)
            { Response.Redirect("/Nad/PageA/Index.aspx"); }
        
    }

حالا هی میگه برابر نیست.

کد کامل:

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string text = "123456789";
        string code = "";
        Random rnd = new Random();
        for (int i = 1; i <= 4; i++)
        {
            int start = rnd.Next(0, text.Length);
            string one_char = text.Substring(start, 1);
            code += one_char;

        }

        Session.Add("cod", code);
        Session["code"] = code;
        Label1.Text = code;  
    }
    protected void Button1_Click(object sender, EventArgs e)
    {

            if (TextBox1.Text == Label1.Text)
            { Response.Redirect("/Nad/PageA/Index.aspx"); }
        
    }
}

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 13 اردیبهشت 1396
  • 20:02

به شکل زیر اصلاح کنید

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
if(!Page.IsPostBack)
{
        string text = "123456789";
        string code = "";
        Random rnd = new Random();
        for (int i = 1; i <= 4; i++)
        {
            int start = rnd.Next(0, text.Length);
            string one_char = text.Substring(start, 1);
            code += one_char;
 
        }
 
        Session.Add("cod", code);
        Session["code"] = code;
        Label1.Text = code;  
}
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
 
            if (TextBox1.Text == Label1.Text)
            { Response.Redirect("/Nad/PageA/Index.aspx"); }
         
    }
}

کاربر سایت

razor

عضویت از 1393/10/13

  • پنجشنبه 14 اردیبهشت 1396
  • 09:18

اقا ایمان دمت گرم ممنون.

الان مشکل اینکه هی میگفت اشتباه حل شد و شرط رو قبول میکنه.

مشکل جدید اینه وقتی پست بک اضافه میکنم دیگه کد کپچه رفرش نمیشه عوض بشه!کد کامل رو میزارم:

public partial class Login_LoginA : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //if (!Page.IsPostBack)
        //{

            string text = "123456789";
            string code = "";
            Random rnd = new Random();
            for (int i = 1; i <= 4; i++)
            {
                int start = rnd.Next(0, text.Length);
                string one_char = text.Substring(start, 1);
                code += one_char;

            }

            Session.Add("cod", code);
            Session["code"] = code;
           
        //}
    }
    protected void Button1_Click1(object sender, EventArgs e)
    {
        if (txtusername.Text == "")
        {
            Label1.Visible = true;
        }
        else { Label1.Visible = false; }
        if (txtpassword.Text == "")
        {
            Label2.Visible = true;
        }
        else { Label2.Visible = false; }
        if (txtcaptcha.Text == "")
        {
            Label3.Visible = true;
        }
        else { Label3.Visible = false; }
       
            if (txtusername.Text != "" & txtpassword.Text != "" & txtcaptcha.Text != "")
            {
                if (txtcaptcha.Text == Session["code"].ToString())
                { 
                    Response.Redirect("/Nad/PageA/Index.aspx"); 
                }

            }
                else
                {
                    Label1.Text = "!عدد داخل کادر را اشتباه وارد کرده اید";
                    Label1.Visible = true;
                }

    }

    protected void ImageButton1_Click1(object sender, ImageClickEventArgs e)
    {
        txtcaptcha.Text = "";
        Random generator = new Random();
        string s = "SecurityCide.aspx?" + generator.Next();
        Image2.ImageUrl = s;
        generator.Next();
        
    }
}
ImageButton1 دکمه رفرش یا عوض کردن تصویر کاپچه هستش که میره به صفحه زیر و عکس رو تولید میکنه.

کد صفحه SecurityCide.aspx:

public partial class Login_SecurityCide : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string code = (string)Session["code"];
        Bitmap src = new Bitmap("E:/Nad/images/jcaptcha1.png");

        Graphics gh = Graphics.FromImage(src);

        gh.DrawString(code, new Font("Colonna MT", 55, FontStyle.Bold), new SolidBrush(Color.DeepSkyBlue), new PointF(20, 10));

        src.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
        //Forte
        //Gill Sans Ultra Bold  توپول
        //OCR A Extended   دیجیتال
    }
}

کاربر سایت

razor

عضویت از 1393/10/13

  • دوشنبه 18 اردیبهشت 1396
  • 19:11

اقا ایمان راهنمایی لطفا

کاربر سایت

razor

عضویت از 1393/10/13

  • یکشنبه 24 اردیبهشت 1396
  • 19:21

دوستان عزیز یعنی کسی میست راهنمای کنه؟

هزینه شم پرداخت میکنیم....

کاربر سایت

razor

عضویت از 1393/10/13

  • سه شنبه 26 اردیبهشت 1396
  • 11:04

مشکلم حل شد.

با اضافه کردن تکه کد زیر به دکمه رفرش کپچر:

    protected void ImageButton1_Click1(object sender, ImageClickEventArgs e)
    {
        string text = "123456789";
        string code = "";
        Random rnd = new Random();
        for (int i = 1; i <= 4; i++)
        {
            int start = rnd.Next(0, text.Length);
            string one_char = text.Substring(start, 1);
            code += one_char;
        }
        Session.Add("code",code);
        Label4.Text = code;
        Random generator = new Random();
        string s = "SecurityCide.aspx?" + generator.Next();
        Image2.ImageUrl = s;
        generator.Next();
    }

 واقعا سپاس گذارم خیلی کمک کردید.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)