آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش انواع زبان های برنامه نویسی
آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش انواع زبان های برنامه نویسی

نحوه ی تنظیم Session Expire در صفحات Dot Net Nuke

نحوه ی تنظیم Session Expire  در صفحات Dot Net Nuke


گاهی اوقات در صفحات Dot Net Nuke  با این مشکل مواجه می شویم که در حین کار کردن در صفحات Session Expire  می شود و روند کار کردن با سیستم با مشکل مواجه  می شود. برای حل این موضوع به روش زیر عمل می کنیم.


1) ابتدا مدیر سیستم به Dot Net Nuke وارد شود.

2) بعد از بخش منوها به به آدرس زیر بروید
Host>Host Settings>Other Settings

3) بعد به تنظیمات Users Online Time را روی 60 دقیقه قرار دهید تا این مشکل برطرف شود.


تبدیل تاریخ شمسی به میلادی در sql server

تبدیل تاریخ شمسی  به میلادی  در sql server

برخی مواقع در هنگام ایجاد لاگ سیستم تاریخ های میلادی را در دیتابیس نگهداری میکنیم که برای اینکه بخواهیم تاریخ های میلادی را در یک نگاه بصورت شمسی هم مشاهده کنیم لازم است که یک تبدیل تاریخ صورت گیرد.

در این مثال ما با استفاده از یک تابع در  Sql Server این کار را انجام می دهیم.


ALTER Function [dbo].[ToTimeSolar] ( @date DATETIME )

RETURNS NVARCHAR(50)

BEGIN


DECLARE @shYear AS INT ,@shMonth AS INT ,@shDay AS INT ,@intYY AS INT ,@intMM AS INT ,@intDD AS INT ,@Kabiseh1 AS INT ,@Kabiseh2 AS INT ,@d1 AS INT ,@m1 AS INT, @shMaah AS NVARCHAR(max),@shRooz AS NVARCHAR(max),@DayCnt AS INT

DECLARE @DayDate AS NVARCHAR(max)


SET @intYY = DATEPART(yyyy, @date)


IF @intYY < 1000 SET @intYY = @intYY + 2000


SET @intMM = MONTH(@date)

SET @intDD = DAY(@date)

SET @shYear = @intYY - 622

SET @DayCnt = datepart(dw, '01/02/' + CONVERT(CHAR(4), @intYY))


SET @m1 = 1

SET @d1 = 1

SET @shMonth = 10

SET @shDay = 11


IF ( ( @intYY - 1993 ) % 4 = 0 ) SET @shDay = 12


WHILE ( @m1 != @intMM ) OR ( @d1 != @intDD )

BEGIN


  SET @d1 = @d1 + 1

  SET @DayCnt = @DayCnt + 1


  IF ( ( @intYY - 1992 ) % 4 = 0) SET @Kabiseh1 = 1 ELSE SET @Kabiseh1 = 0


  IF ( ( @shYear - 1371 ) % 4 = 0) SET @Kabiseh2 = 1 ELSE SET @Kabiseh2 = 0


  IF 

  (@d1 = 32 AND (@m1 = 1 OR @m1 = 3 OR @m1 = 5 OR @m1 = 7 OR @m1 = 8 OR @m1 = 10 OR @m1 = 12))

  OR

  (@d1 = 31 AND (@m1 = 4 OR @m1 = 6 OR @m1 = 9 OR @m1 = 11))

  OR

  (@d1 = 30 AND @m1 = 2 AND @Kabiseh1 = 1)

  OR

  (@d1 = 29 AND @m1 = 2 AND @Kabiseh1 = 0)

  BEGIN

    SET @m1 = @m1 + 1

    SET @d1 = 1

  END


  IF @m1 > 12

  BEGIN

    SET @intYY = @intYY + 1

    SET @m1 = 1

  END

  

  IF @DayCnt > 7 SET @DayCnt = 1


 SET @shDay = @shDay + 1

  

  IF

  (@shDay = 32 AND @shMonth < 7)

  OR

  (@shDay = 31 AND @shMonth > 6 AND @shMonth < 12)

  OR

  (@shDay = 31 AND @shMonth = 12 AND @Kabiseh2 = 1)

  OR

  (@shDay = 30 AND @shMonth = 12 AND @Kabiseh2 = 0)

  BEGIN

    SET @shMonth = @shMonth + 1

    SET @shDay = 1

  END


  IF @shMonth > 12

  BEGIN

    SET @shYear = @shYear + 1

    SET @shMonth = 1

  END

  

END



SET @DayDate = Convert(nvarchar(50),@shYear)+'/'+RIGHT('0' + CAST(@shMonth AS VARCHAR), 2)+'/'+RIGHT('0' + CAST(@shDay AS VARCHAR), 2)+  ' ' + LEFT(CONVERT(TIME,@date),5)


RETURN @DayDate

END


تابع بالا را با استفاده از کدهای زیر در اسکویل سرور صدا می زنیم

select dbo.ToTimeSolar('2016-06-25 04:05:52.447')

و خروجی این تابع به شکل زیر خواهد بود

1395/04/05 04:05


convert Gregorian to persian date in sql server

convert miladi to persian date in sql server



رفتن به صفحه ی ورود به برنامه در ASP.NET

رفتن به صفحه ی ورود به برنامه در زمان پایان Session


هنگامی که در یک صفحه ی وب فرم Session برنامه Time Out می شود لازم است که بصورت اتوماتیک به صفحه ی ورود به برنامه برود تا کاربران سیستم دوباره وارد سیستم شوند .

برای اینکار کافی است که کد زیر را در صفحه ی Master Page برنامه ی وب قرار دهیم. تا به طور اتوماتیک هنگام Session Time out به صفحه ی ورود به برنامه برود.


Response.AppendHeader("Refresh", Convert.ToString(Session.Timeout * 60+5) + "; URL=Login.aspx");

نحوه ساخت Captcha برای سایت

نحوه ساخت Captcha برای سایت


وقتی که سایتی بر روی اینترنت بارگذاری می شود و دارای صفحه ی ورود کاربران به سامانه می باشد باید هنگام ورود به سامانه از Captcha استفاده شود تا از هک کردن سایت توسط روبات ها جلوگیری شود.

ساخت کپچا خیلی ساده است فقط کافی است طبق روش زیر عمل شود.

ابتدا در صفحه ی html کدهای زیر را قرار می دهیم.


تسکت باکسی که می خواهیم کد های آن بررسی شود

 <asp:TextBox ID="txtCaptcha" runat="server" Width="200px"></asp:TextBox>

بعد تصویر نمایش کپچا  را در زیر قرار می دهیم.


 <table>

                                <tr>

                                    <td style="height: 50px; width:100px;">

                                        <asp:Image ID="imgCaptcha" runat="server" />

                                    </td>

                                    <td valign="middle">

                                        <asp:Button ID="btnRefresh" runat="server" Text="Refresh" OnClick="btnRefresh_Click" />

                                    </td>

                                </tr>

                            </table>

حال یک صفحه ی نمایش عکس بصورت زیر اضافه می کنیم. و در بخش کدهای سمت سی شارپ کدهای زیر را قرار می دهیم.


  public partial class GenerateCaptcha : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            Response.Clear();

            int height = 40;

            int width = 130;

            Bitmap bmp = new Bitmap(width, height);


            RectangleF rectf = new RectangleF(10, 5, 0, 0);


            Graphics objGraphics = Graphics.FromImage(bmp);

            Color objcolor = Color.FromArgb(250,182,239, 147);

            objcolor.GetHue();

            objGraphics.Clear(objcolor);


            objGraphics.SmoothingMode = SmoothingMode.AntiAlias;

            objGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic;

            objGraphics.PixelOffsetMode = PixelOffsetMode.HighQuality;

            string objtext = Session["captcha"].ToString();

            string objnewText = "";

            for (int i = 0; i < objtext.Length; i++)

            {

                objnewText += objtext.Substring(i,1);

                objnewText += " ";

            }


            objGraphics.DrawString(objnewText, new Font("Thaoma", 16, FontStyle.Strikeout), Brushes.Gray, rectf);

            objGraphics.DrawRectangle(new Pen(Color.Gold), 1, 1, width - 2, height - 2);

            objGraphics.Flush();

            Response.ContentType = "image/jpeg";

            bmp.Save(Response.OutputStream, ImageFormat.Jpeg);

            objGraphics.Dispose();

            bmp.Dispose();

        }

    }



حال در صفحه ای که می خواهیم کپچا ها را بررسی کنیم بصورت زیر عمل می کنیم.


 protected void Page_Load(object sender, EventArgs e)

        {

           

            if (!IsPostBack)

            {

                FillCapctha();

            }


        }

        void FillCapctha()

        {

            try

            {

                Random random = new Random();

                string combination = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

                StringBuilder captcha = new StringBuilder();

                for (int i = 0; i < 6; i++)

                    captcha.Append(combination[random.Next(combination.Length)]);

                Session["captcha"] = captcha.ToString();

                imgCaptcha.ImageUrl = "GenerateCaptcha.aspx?" + DateTime.Now.Ticks.ToString();

                //HandlerTest.ashx

                //imgCaptcha.ImageUrl = "HandlerTest.ashx?" + DateTime.Now.Ticks.ToString();

            }

            catch

            {


                throw;

            }

        }


        protected void btnRefresh_Click(object sender, EventArgs e)

        {

            FillCapctha();

        }


        protected void btnRegister_Click(object sender, EventArgs e)

        {

            if (Session["captcha"].ToString().ToLower() != txtCaptcha.Text.Trim().ToLower())

                Response.Write("Invalid Captcha Code");

            else

                Response.Write("Valid Captcha Code");

            FillCapctha();

        }

    }