一个需要图文验证的登录程序,请大家帮忙调试下!

问题描述

我做了一个登录界面,需要输入验证码,但是每次单击登录按钮,就只是刷新我的验证码,到底怎么回事啊,请给位大侠帮忙调试下了!login.aspx页面代码<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="login.aspx.cs"Inherits="users_login"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>无标题页</title><styletype="text/css">.style1{width:100%;background-color:#CCFFFF;}.style2{width:500px;}.style3{width:169px;}</style></head><body><formid="form1"runat="server"><div><tablealign="center"cellspacing="1"class="style1"><tr><td><tablealign="center"cellspacing="1"class="style2"><tr><tdclass="style3"align="right">用户名:</td><td><asp:TextBoxID="txt_name"runat="server"></asp:TextBox></td></tr><tr><tdclass="style3"align="right">密码:</td><td><asp:TextBoxID="txt_pwd"runat="server"></asp:TextBox></td></tr><tr><tdclass="style3"align="right">验证码:</td><td><asp:TextBoxID="txt_yzm"runat="server"></asp:TextBox>&nbsp;&nbsp;<asp:ImageID="Image1"runat="server"Height="31px"Width="72px"ImageUrl="~/users/ValidNums.aspx"/></td></tr><tr><tdclass="style3">&nbsp;</td><td>&nbsp;</td></tr><tr><tdclass="style3">&nbsp;</td><td><asp:ButtonID="btn_login"runat="server"onclick="btn_login_Click"Text="登录"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<asp:ButtonID="btn_cancel"runat="server"Text="取消"/></td></tr></table></td></tr></table></div></form></body></html>login.aspx.cs代码如下usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;usingSystem.Data.SqlClient;usingSystem.Drawing;publicpartialclassusers_login:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidbtn_login_Click(objectsender,EventArgse){try{if(txt_name.Text==""||txt_pwd.Text==""){this.Page.RegisterStartupScript("ss","<script>alter('用户名和密码信息不能为空!')</script>");return;//返回操作}else{stringnum=this.txt_yzm.Text.Trim();//获取验证码if(Session["ValidNums"].ToString()==num.ToUpper()){//连接数据库SqlConnectionsqlcon=newSqlConnection(ConfigurationManager.ConnectionStrings["ftmydata"].ConnectionString);sqlcon.Open();//打开数据库stringstrselect="select*fromft_userwhereusername='"+txt_name.Text.Trim()+"'";SqlDataAdapteradsas=newSqlDataAdapter(strselect,sqlcon);DataSetaddss=newDataSet();adsas.Fill(addss);//加载数据信息if(addss.Tables[0].Rows.Count>0){stringstrselect1="select*fromft_userwhereusername='"+txt_name.Text.Trim()+"'anduserpwd='"+txt_pwd.Text.Trim()+"'";SqlCommandsqlcom1=newSqlCommand(strselect1,sqlcon);SqlDataReaderdr1=sqlcom1.ExecuteReader();if(dr1.Read())//执行读取数据信息的操作{//登录成功后,跳转到的网站页面Response.Redirect("default.aspx");}//如果密码错误,则弹出提示信息对话框else{this.Page.RegisterStartupScript("ss","<script>alter('密码错误!')</script>");return;}dr1.Close();//关闭操作}//如果用户名称不存在,则弹出提示对话框else{this.Page.RegisterStartupScript("ss","<script>alter('用户名不存在!')</script>");return;}sqlcon.Close();//关闭数据库}//如果验证码输入错误,则弹出提示对话框else{this.Page.RegisterStartupScript("ss","<script>alter('验证码输入错误!')</script>");return;}}}//如果有操作上的错误,执行CATCH语句中的程序代码catch(Exceptionex){this.Page.RegisterStartupScript("ss","<script>alter('验证码输入错误,请刷新页面!')</script>");}}}

解决方案

解决方案二:
图片验证码页面是ValidNums.aspx.cs代码如下usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;usingSystem.Drawing;publicpartialclassValidNums:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringvalidateNum=CreateRandomNum(4);//成生4位随机字符串CreateImage(validateNum);//将生成的随机字符串绘成图片Session["ValidNums"]=validateNum;//保存验证码}}//生成随机字符串privatestringCreateRandomNum(intNumCount){stringallChar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z";string[]allCharArray=allChar.Split(',');//拆分成数组stringrandomNum="";inttemp=-1;//记录上次随机数的数值,尽量避免产生几个相同的随机数Randomrand=newRandom();for(inti=0;i<NumCount;i++){if(temp!=-1){rand=newRandom(i*temp*((int)DateTime.Now.Ticks));}intt=rand.Next(35);if(temp==t){returnCreateRandomNum(NumCount);}temp=t;randomNum+=allCharArray[t];}returnrandomNum;}//生成图片privatevoidCreateImage(stringvalidateNum){if(validateNum==null||validateNum.Trim()==String.Empty)return;//生成Bitmap图像System.Drawing.Bitmapimage=newSystem.Drawing.Bitmap(validateNum.Length*12+10,22);Graphicsg=Graphics.FromImage(image);try{//生成随机生成器Randomrandom=newRandom();//清空图片背景色g.Clear(Color.White);//画图片的背景噪音线for(inti=0;i<25;i++){intx1=random.Next(image.Width);intx2=random.Next(image.Width);inty1=random.Next(image.Height);inty2=random.Next(image.Height);g.DrawLine(newPen(Color.Silver),x1,y1,x2,y2);}Fontfont=newSystem.Drawing.Font("Arial",12,(System.Drawing.FontStyle.Bold|System.Drawing.FontStyle.Italic));System.Drawing.Drawing2D.LinearGradientBrushbrush=newSystem.Drawing.Drawing2D.LinearGradientBrush(newRectangle(0,0,image.Width,image.Height),Color.Blue,Color.DarkRed,1.2f,true);g.DrawString(validateNum,font,brush,2,2);//画图片的前景噪音点for(inti=0;i<100;i++){intx=random.Next(image.Width);inty=random.Next(image.Height);image.SetPixel(x,y,Color.FromArgb(random.Next()));}//画图片的边框线g.DrawRectangle(newPen(Color.Silver),0,0,image.Width-1,image.Height-1);System.IO.MemoryStreamms=newSystem.IO.MemoryStream();//将图像保存到指定的流image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);Response.ClearContent();Response.ContentType="image/Gif";Response.BinaryWrite(ms.ToArray());}finally{g.Dispose();image.Dispose();}}}请大侠么帮我看看,,我一调试login.aspx页面,只要点“登录”按钮,就是不停的刷新验证码,,中间密码错误或者其他什么原因,都不显示的?到底怎么回事,请帮我看看吧注明:我在web.config中设置的数据库连接
解决方案三:
你自己断点跟踪一下,看到了哪步出的问题,这种问题最好自己先找出问题点,要不然我们看代码也是有困难的,毕竟人眼比不过调试器

时间: 2024-09-20 10:35:29

一个需要图文验证的登录程序,请大家帮忙调试下!的相关文章

.net-C# 如何使用 HttpWebReques 编写baidu(百度)自动登录,请高手帮忙看看,如何解决?

问题描述 C# 如何使用 HttpWebReques 编写baidu(百度)自动登录,请高手帮忙看看,如何解决? 下面是我写的代码,不知道那里出错,实现不了登录,请帮忙解决...先说声谢谢啦代码: string postdata = "ppui_logintime=482599&charset=utf-8&codestring=&token=e80e24119525675ba6ee9e0e15c6a8be&isPhone=false&index=0&

android开发-recylerview添加head的问题,请各位帮忙看下咋解决

问题描述 recylerview添加head的问题,请各位帮忙看下咋解决 recylerview是纵向的,我在head中添加了一个横向滚动的recyclerview 当手指按在横向recyclerview下拉的时候纵向的recyclerview会向下跳动一段距离(不是正常滑动距离),怎么解决啊?开发-recylerview添加head的问题,请各位帮忙看下咋解决-recylerview"> 解决方案 VC++问题 帮忙解决哈C#程序集问题,请高手帮忙解决一下!!关于xslt的问题,请大家帮

c++/cli-C++ 加载 CTP DLL 报 LNK2001 错误,请大家帮忙看下,这个问题已经困扰几天了

问题描述 C++ 加载 CTP DLL 报 LNK2001 错误,请大家帮忙看下,这个问题已经困扰几天了 有个问题困扰我几天了,群里的大牛帮忙看下. 我加载ctp的dll时,会报下面这个错误. 谁知道原因,或者之前遇到过吗? 解决方案 删除所有的obj,重新编译下,检查下你的lib目录,对应的lib是否齐全.如果程序是自己写的,那么检查下函数的定义和调用是否一致. 解决方案二: 你需要工程中添加ctp的lib库文件.这样link才找得到.

android应用-recylerview添加head的问题,请各位帮忙看下咋解决

问题描述 recylerview添加head的问题,请各位帮忙看下咋解决 recylerview是纵向的,我在head中添加了一个横向滚动的recyclerview 当手指按在横向recyclerview下拉的时候纵向的recyclerview会向下跳动一段距离(不是正常滑动距离),怎么解决啊? 解决方案 已解决,是headerView的问题 解决方案二: VC++问题 帮忙解决哈C#程序集问题,请高手帮忙解决一下!!关于xslt的问题,请大家帮忙看下,急啊! 解决方案三: http://bbs

负载均衡-apache 配置问题,请大家帮忙分析下

问题描述 apache 配置问题,请大家帮忙分析下 环境:apache 2.4(一台linux服务器),tongweb(两台linux服务器): 负载均衡跟session粘贴机制 sticky_session 均配置完成,但是有个问题,就是进入系统后, 看日志是访问的tongweb1,那么我关掉tongweb1后,在点击页面,就直接报404了,这是正常的吗? 是不是应该在我关掉tongweb1后,在点击页面应切换该访问到tongweb2呢? 当前会话不可用了,但是重新打开浏览器,新建会话后是可以

遇见数据库查询非常棘手的问题。请大家帮忙看下。

问题描述 首先我先叙述下我的数据库,数据库每天都要录入新数据,每天要录入1000口井,包括井的各种参数.字段JH,RCQ,RCS,LJCS,LJCQ.(井号,日产气,日产水,累计产气,累计产水)现在要是:得到每个月的每口井的平均每天产气量,平均产水量(每天的量加起来算平均),累计产气量(每天录入的信息里都,取每个月每口井的最后一天数值).我的代码如下.sql="selectsum(RCS)asRCS2,sum(RCQ)asRCQ2,avg(GY)asGY1,avg(TY)asTY1,avg(DJ

C++的dll函数在c#中调用获取不到值,请大家帮忙看下,谢谢!

问题描述 下面的方法是c++写的DLL封装的方法,我要在c#里面引用然后使用:intSTDCALLSDT_ReadBaseMsg(intiPortID,unsignedchar*pucCHMsg,unsignedint*puiCHMsgLen,unsignedchar*pucPHMsg,unsignedint*puiPHMsgLen,intiIfOpen); 我在c#里面是这样写的:///<summary>///读取卡的信息///</summary>///<paramname

java-Android-JAVA程序分析,帮忙分析下以下程序如何拆行,怎么分析。

问题描述 Android-JAVA程序分析,帮忙分析下以下程序如何拆行,怎么分析. public class ja { private Bundle metaData; public void doit() { String str3 = config("sapi_sign", "e56b4eb0473d219c5317afb7ccf66e8f"); System.out.println(str3); } private String config(String p

sftp下载zip文件-java从sftp上下载到本地磁盘的zip文件读取不了,请大家帮忙解答下,谢谢!

问题描述 java从sftp上下载到本地磁盘的zip文件读取不了,请大家帮忙解答下,谢谢! 从sftp上下载到本地的zip文件是没问题的,用压缩工具打开能查看里面的文件,为什么就是读取不了呢? java从sftp下载zip文件到本地磁盘代码: import java.io.InputStream; import java.util.Date; import com.ibm.gbs.ai.portal.framework.util.DateUtils; import com.jcraft.jsch