登陆注册系统模拟(源代码)
- 格式:doc
- 大小:64.50 KB
- 文档页数:11
java用户登录界面的代码以下是一个简单的Java用户登录界面的代码示例,其中包括了GUI界面设计和用户验证的代码:```javaimport javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;import javax.swing.JPasswordField;import javax.swing.JButton;import java.awt.event.ActionListener;import java.awt.event.ActionEvent;public class LoginWindow extends JFrame implements ActionListener {private JLabel usernameLabel, passwordLabel;private JTextField usernameTextField;private JPasswordField passwordField;private JButton loginButton;public LoginWindow() {setTitle("用户登录");setSize(400, 200);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);usernameLabel = new JLabel("用户名:");passwordLabel = new JLabel("密码:");usernameTextField = new JTextField();passwordField = new JPasswordField();loginButton = new JButton("登录");loginButton.addActionListener(this);setLayout(null);usernameLabel.setBounds(50, 30, 80, 25);passwordLabel.setBounds(50, 70, 80, 25);usernameTextField.setBounds(130, 30, 200, 25);passwordField.setBounds(130, 70, 200, 25);loginButton.setBounds(150, 120, 100, 25);add(usernameLabel);add(passwordLabel);add(usernameTextField);add(passwordField);add(loginButton);setVisible(true);}public void actionPerformed(ActionEvent e) {String username = usernameTextField.getText();String password = newString(passwordField.getPassword());if (isValidUser(username, password)) {System.out.println("用户登录成功!");// 在这里可以跳转到下一个界面} else {System.out.println("用户名或密码错误!");}}private boolean isValidUser(String username, String password) {// 在这里实现用户验证的代码// 比如查询数据库是否有该用户并且密码是否匹配等等// 如果验证成功则返回true,否则返回falsereturn false;}public static void main(String[] args) {new LoginWindow();}}```该代码创建了一个窗口界面,包括“用户名”和“密码”两个文本框,以及一个“登录”按钮。
在网上找了许多,都是不能用的了,本地登陆还好,放到网站就显示:警告:系统检查到您可能通过不安全的网站登录,请您登录后立即修改密码!但是老板着急让完成。
就接着百度。
终于搞定。
代码共有两部分:一、登陆页面:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/1999/REC-html401-19991224/loose.dtd"><HTML xmlns="/1999/xhtml"><HEAD><TITLE>中药方大全</TITLE><META content="text/html; charset=gbk" http-equiv=Content-Type><SCRIPT type=text/javascript src="config.js"></SCRIPT></HEAD><BODY ><FORM id=gomail class=c_form onSubmit="return checktype(this);"method=post name=gomail action=JavaScript:><INPUT type=hidden name=url><INPUT type=hidden name=username> <INPUT type=hidden name=type> <INPUTtype=hidden name=password> <INPUT type=hidden name=domain> <INPUTvalue=/inset.html type=hidden name=.done> <INPUTtype=hidden name=user> <INPUT type=hidden name=pass> <INPUT value=truetype=hidden name=enterVip> <INPUT type=hidden name=UserName> <INPUTtype=hidden name=Password> <INPUT type=hidden name=u> <INPUT type=hiddenname=psw> <INPUT type=hidden name=login> <INPUT type=hiddenname=LoginName> <INPUT type=hidden name=usr> <INPUT type=hidden name=func> <INPUT type=hidden name=login_name> <INPUT type=hiddenname=login_password> <INPUT type=hidden name=BackURL> <INPUTvalue=/mail?ui=html&zy=l type=hiddenname=continue> <INPUT type=hidden name=Email> <INPUT type=hiddenname=email> <INPUT type=hidden name=domainname> <INPUT value=falsetype=hidden name=firstlogin> <INPUT type=hidden name=starttime> <INPUTtype=hidden name=p2> <INPUT type=hidden name=passwd> <INPUT type=hiddenname=id> <INPUT type=hidden name=m> <INPUT type=hidden name=mpass> <INPUT type=hidden name=loginid> <INPUT type=hidden name=appid> <INPUTtype=hidden name=ru> <INPUT type=hidden name=eru> <INPUT type=hiddenname=fl> <INPUT type=hidden name=ct> <INPUT type=hidden name=vr> <INPUTtype=hidden name=sg> <INPUT type=hidden name=vwriter> <INPUT type=hiddenname=vpassword> <INPUT type=hidden name=passport_51_user> <INPUTtype=hidden name=passport_51_password> <INPUT type=hidden name=gourl><INPUT type=hidden name=Passwd> <INPUT value=cn type=hidden name=.intl><INPUT type=hidden name=origURL> <INPUT type=hidden name=formName> <INPUT type=hidden name=method> <INPUT value=true type=hidden name=isplogin><UL><LI><LABEL for=mail_user_ican123>帐号</LABEL> <INPUT id=mail_user_ican123class=int size=25 type=text name=uName> </LI><LI><LABEL for=mail_ail_server_ican123>邮箱</LABEL> <SELECTid=mail_server_ican123 class=select onchange=shortcut() name=domains><OPTION selected value=selected>--请选择--</OPTION> <OPTIONvalue=163> 网易</OPTION> <OPTION value=126></OPTION><OPTION value=sohu> 搜狐</OPTION> <OPTION value=sina>新浪</OPTION> <OPTION value=tom></OPTION> <OPTIONvalue=yahoo></OPTION> <OPTIONvalue=yahoocn></OPTION> <OPTION value=21cn></OPTION><OPTION value=eyou> 亿邮</OPTION> <OPTIONvalue=vipsina></OPTION> <OPTIONvalue=vip163></OPTION> <OPTION value=263></OPTION><OPTION value=yeah></OPTION> <OPTIONvalue=selected>以下请在弹出页登陆↓</OPTION> <OPTIONvalue=gmail></OPTION> <OPTION value=qq></OPTION><OPTION value=188></OPTION> <OPTION value=139></OPTION><OPTION value=sogou></OPTION> <OPTIONvalue=hotmail></OPTION> <OPTIONvalue=kaixin001>开心网</OPTION> <OPTIONvalue=selected>--社交网及其他--</OPTION> <OPTION value=baidu>百度账号</OPTION><OPTION value=renren>人人网</OPTION> <OPTION value=tianya>天涯社区</OPTION><OPTION value=51> 博客</OPTION> <OPTION value=cren>ChinaRen校友录</OPTION></SELECT> </LI><LI><LABEL for=mail_passwd_ican123>密码</LABEL> <INPUTid=mail_passwd_ican123 class=int size=15 type=password name=uPw> <INPUT id=mail_submit_ican123 class=btn value="登录" type=submit name=btn_my></LI></UL></FORM></BODY></HTML>二、相应的js代码(config.js)var ua=erAgent.toLowerCase();var isIE=ua.indexOf("msie")>-1;var isFF=ua.indexOf("firefox")>-1;function regE(c,b,a){if(window.attachEvent){c.attachEvent(b,a)}else {c.addEventListener(b.replace(/^on/,""),a,true)}}function $(a){return document.getElementById(a)}function os(a){return $(a).style}function ResumeError(){return true}window.onerror=ResumeError;// JavaScript Document/*var gm=document.gomail;var vDomain=gm.domains;var vName=gm.uName;var vPw=gm.uPw;*/function checktype(obj){if(obj.domains.value=="selected"){alert("您没有选择邮箱");obj.domains.focus();return false}if(obj.uName.value==""){alert("您没有填写用户名");obj.uName.focus();return false}if(obj.uPw.value==""){alert("您没有填写密码");obj.uPw.focus();return false}if(obj.domains.value=="163"||obj.domains.value=="126"||obj.domains.value=="yeah"){checkwangyi(obj);}else{clickMail(obj);}obj.uPw.value="";return ;this.location.reload();}function clickMail(obj){obj.target="_blank"switch(obj.domains.value){case "188":obj.action="/servlet/coremail/login?language=0&style=1"er.value=obj.uName.valueobj.pass.value=obj.uPw.valuebreakcase "vip163":obj.action="https:///logon.m?language=-1&style=-1" ername.value=obj.uName.valueobj.password.value=obj.uPw.valuebreakcase "netease":obj.action="/cgi/login?verifycookie=1&language=0" ername.value=obj.uName.valueobj.password.value=obj.uPw.valuebreakcase "sohu":obj.action="/login.jsp"obj.url.value=""erName.value=obj.uName.valueobj.Password.value=obj.uPw.valueobj.id.value=obj.uName.valueername.value=obj.uName.valueobj.password.value=obj.uPw.valueobj.m.value=obj.uName.valueobj.passwd.value=obj.uPw.valueobj.mpass.value=obj.uPw.valueobj.loginid.value=obj.uName.value+"@"obj.fl.value="1"obj.vr.value="1|1"obj.appid.value="1000"obj.ru.value="/servlet/LoginServlet"obj.eru.value="/login.jsp"obj.ct.value="1173080990"obj.sg.value="5082635c77272088ae7241ccdf7cf062"breakcase "yahoo":obj.action="https:///config/login"obj.login.value=obj.uName.valueobj.passwd.value=obj.uPw.valuebreakcase "yahoocn":obj.action="https:///config/login"obj.login.value=obj.uName.value+"@"obj.passwd.value=obj.uPw.valuebreakcase "tom":obj.action="/cgi/163/login_pro.cgi"er.value=obj.uName.valueobj.pass.value=obj.uPw.valuebreakcase "21cn":obj.action="/maillogin.jsp"obj.LoginName.value=obj.uName.valueobj.passwd.value=obj.uPw.valueobj.domainname.value=""erName.value=obj.uName.value+'@'breakcase "china":obj.action="/coremail/fcg/login"er.value=obj.uName.valueobj.pass.value=obj.uPw.valueobj.domainname.value=""//obj.passwd.value=obj.uPw.valuebreakcase "mailchina":obj.action="/extend/gb/NULL/NULL/NULL/SignIn.gen" obj.LoginName.value=obj.uName.valueobj.passwd.value=obj.uPw.valuebreakcase "citiz":obj.action="/default/login_billing.jsp"ername.value=obj.uName.value+"@"obj.password.value=obj.uPw.valuebreakcase "56":var gUrsHost=["m113","m48","m49"];obj.action="http://"+gUrsHost[((new Date()).getSeconds())%3]+"/mail/mail.56" ername.value=obj.uName.valueobj.password.value=obj.uPw.valuebreakcase "Xinhuanet":obj.action="/login.jsp"ername.value=obj.uName.valueobj.password.value=obj.uPw.valueobj.domainname.value=''breakcase "sina":obj.action="/cgi-bin/login.cgi"obj.u.value=obj.uName.valueobj.psw.value=obj.uPw.valuebreakcase "eyou":obj.action="/mail_login.php"obj.LoginName.value=obj.uName.valueobj.Password.value=obj.uPw.valuebreakcase "263":obj.action="/xmweb"r.value=obj.uName.valueobj.pass.value=obj.uPw.valueobj.domain.value=""obj.func.value="login"breakcase "qq":obj.action="/cgi-bin/login"obj.u.value=obj.uName.valueobj.p.value=obj.uPw.valueobj.starttime.value=(new Date()).valueOf()breakcase "vipsina":obj.action="/cgi-bin/login.php"obj.domain.value=''obj.u.value=obj.uName.valueobj.psw.value=obj.uPw.valuebreak;case "cren":obj.action="/login.jsp"obj.loginid.value=obj.uName.value+"@"obj.passwd.value=obj.uPw.valueobj.fl.value="1"obj.vr.value="1|1"obj.appid.value="1005"obj.ru.value="/urs/setcookie.jsp?burl=/" obj.ct.value="1174378209"obj.sg.value="84ff7b2e1d8f3dc46c6d17bb83fe72bd"breakcase "tianya":obj.action="/user/loginsubmit.asp"obj.vwriter.value=obj.uName.valueobj.vpassword.value=obj.uPw.valuebreakcase "51":obj.action="/login.5p"obj.passport_51_user.value=obj.uName.valueobj.passport_51_password.value=obj.uPw.valueobj.gourl.value="http%3A%2F%%2Fwebim%2Findex.php"breakcase "renren":obj.action="/Login.do"obj.email.value=obj.uName.valueobj.password.value=obj.uPw.valuebreakcase "baidu":obj.action="https:///?login"ername.value=obj.uName.valueobj.password.value=obj.uPw.valueobj.u.value="/index.php?tn=fm991_pg"break}obj.uPw.value = ""SetmailCookie('m',obj.domains.selectedIndex,5184000,'/')//obj.uPw.value = ""return true}function checkwangyi(obj){obj.target="_parent"var url="";var lname=obj.uName.value;var lpass=obj.uPw.value;var lindex=obj.domains.selectedIndex;if(lindex==1)url="/logins.jsp?type=1&url=/coremail/fcg/ntesdoor2?&u sername="+lname+"&password="+lpass;if(lindex==2)url="/logins.jsp?type=1&url=/cgi/ntesdoor?&usernam e="+lname+"@"+"&password="+lpass;if(lindex==13)url="/logins.jsp?type=1&url=/cgi/ntesdoor?&usernam e="+lname+"@"+"&password="+lpass;openWin(url);// else obj.submit();return true;}function shortcut(){var gm=document.gomail;var vDomain=gm.domains,vName=gm.uName,vPw=gm.uPw;if(vDomain.value=="qq")window.open("");else if(vDomain.value=="hotmail")window.open("/");else if(vDomain.value=="sogou")window.open("/");else if(vDomain.value=="139")window.open("/");else if(vDomain.value=="gmail")window.open("/");else if(vDomain.value=="188")window.open("/");else if(vDomain.value=="kaixin001")window.open("/");setCookies();}function setCookies(){var gm=document.m;var vDomain=gm.domains,vName=gm.uName;if(vDomain.value!="qq"&&vDomain.value!="hotmail"&&vDomain.value!="sogou"&&vDo main.value!="139"&&vDomain.value!="gmail"&&vDomain.value!="188"&&vDomain.value!=" kaixin001"){setmailCookie('mailType',vDomain.selectedIndex.toString ());if(vName.value)setmailCookie('username',vName.value.toString ());}else {var mailType=getCookie('mailType')?getCookie('mailType'):0;for(var i=0;i<vDomain.options.length;i++){if(i!=parseInt(mailType)){vDomain.options[i].removeAttribute("selected");}else {vDomain.options[mailType].setAttribute("selected","true");}}}}function openWin(url){window.open(url);}function SetmailCookie(n,v,t,dm){}三、测试页面/test/pingtou/mail.htm联系QQ:110102296。
模拟用户登录【案例介绍】1.任务描述在使用一些APP时,通常都需要填写用户名和密码。
用户名和密码输入都正确才会登录成功,否则会提示用户名或密码错误。
本例要求编写一个程序,模拟用户登录。
程序要求如下:(1)用户名和密码正确,提示登录成功。
(2)用户名或密码不正确,提示“用户名或密码错误”。
(3)总共有3次登录机会,在3次内(包含三次)输入正确的用户名和密码后给出登录成功的相应提示。
超过3次用户名或密码输入有误,则提示登录失败,无法再继续登录。
在登录时,需要比较用户输入的用户名密码与已知的用户名密码是否相同,本案例可以使用Scanner类以及String类的相关方法实现比较操作。
2.运行结果登录成功的运行结果如图5-3所示图5-3 用户登录成功运行结果图登录失败的运行结果如图5-4所示图5-3 用户登录失败运行结果图【案例任务】●学会分析“模拟用户登录”任务的实现思路。
●根据思路独立完成“模拟用户登录”任务的源代码编写、编译及运行。
●掌握String类及Scanner类中常用方法的使用。
●掌握之前学习的if判断知识。
【案例思路】(1)分析任务描述可知,已知用户名密码,定义两个字符串表示即可。
(2)键盘录入要登录的用户名密码。
用Scanner实现。
(3)拿键盘录入的用户名密码和已知的用户名密码进行比较,给出相应的提示,字符串内容比较用equles实现。
(4)循环实现多次机会。
这里次数明确,用for循环实现。
并在登录成功的时候。
用break结束循环。
【案例实现】模拟用户登录的实现代码,如文件5-3所示。
文件5-3 example3.java1package com.itheima;2import java.util.Scanner;3public class example3 {4public static void main(String[] args) {5//已知用户名密码,定义两个字符串表示即可。
实现登录功能的代码以下是一个使用 Python 实现登录功能的简单示例代码:```python# 假设有一个用户表,包含用户 ID 和密码user_table = {'user1': 'pass1','user2': 'pass2',}# 登录功能实现def login(username, password):# 检查用户是否存在if username in user_table:# 检查密码是否匹配if user_table[username] == password:print(f"登录成功,用户 {username} 已登录。
") return Trueelse:print(f"密码错误,登录失败。
")return Falseelse:print(f"用户 {username} 不存在,登录失败。
")return False# 示例用法username = input("请输入用户名:")password = input("请输入密码:")if login(username, password):print("欢迎登录!")else:print("登录失败,请检查用户名和密码。
")```在这个示例中,我们使用一个字典 `user_table` 来模拟用户表,其中包含了用户 ID 和对应的密码。
`login()` 函数接受用户名和密码作为参数,检查用户是否存在并验证密码是否匹配。
请注意,这只是一个简单的示例代码,实际的登录功能可能需要考虑更多的因素,如数据库操作、密码加密、用户权限等。
根据你的具体需求,你可能需要使用数据库来存储和验证用户信息,以及使用更复杂的密码加密算法来保护用户密码的安全性。
⽤纯javascript和html编写仿淘宝注册页⾯(带源码)本地javascript(纯天然代码)验证,本地验证主要分2部分:⼀、和⽤户的表单交互⾸先需要编写⽤于表单交互的函数,该函数需要在页⾯加载时加载,格式如下:window.onload=function (){}接着⽤getElement的⽅法获取相应的标签在function函数⾥定义为全局变量。
然后在function内编写这些变量的事件,⽤到的三⼤事件分别为:onfocus(获取焦点事件)、onkeyup(键盘事件)、onblur(失去焦点事件)。
⽤法:以onfocus为例如下:pwd.onfocus=function(){//变量pwd的获取焦点事件pwd_msg.style.display="block";pwd_msg.innerHTML='<i class="ati"></i>6-16个字符,请使⽤字母加数字或符号的组合密码,不能单独使⽤字母、数字或符号。
';}⼆、点击提交按钮是对表单的检验主要⽤到onsumit(表单提交前)事件,⽤法如下:<form method="post" action="aupload.php" enctype="multipart/form-data" onsubmit="return check()">需要在function外单独再编写check函数。
三、完整源代码及运⾏截图献上<!DOCTYPE html><html><head><meta charset="UTF-8"><title>验证码</title><style type="text/css">#header{ width:95%; height:100px; padding-left:5%; clear:both; border-bottom:#CCC dashed thin ;}#header img{width:80px; height:80px; float:left; border-radius:40px; margin-top:10px ;margin-bottom:10px; }#header h1{display:inline-block; margin-left:20px;}#main{ width:100%; height:auto;}body,div,dl,dd,ul,ol,li{ margin:0;padding:0; font:12px/1.5"宋体","Arial",color:#666;}body{background:url(uploads/0911454230045.png) no-repeat; background-size:700px,450px; background-position:50px 120px;}img{ border:none}input,select,img{ vertical-align:middle}/*有疑惑*/lable{vertical-align:middle}form{ width:450px; height:500px; margin-top:130px; margin-right:80px;float:right; }form div{ overflow:hidden; clear:both}form div label{float:left; clear:both;}form div label .text{ width:152px; height:26px; padding:0 2px; border:1px solid #ccc }form div label b{ font-weight:normal; font-size:12px; color:#ccc; visibility:hidden}/*有疑惑*/form div em{ display:inline-block; font-family:12px; text-align:center;color:#fff; vertical-align:middle; font-style:normal; width:53px;height:15px; line-height:15px; background-color:#ffd099} form div .active{ background-color:#ff6600}div span{ display:inline-block; width:80px; text-align:right}.submitBtn{width:135px; height:33px; background:url(); color:red; margin:20px 0 0 80px;}/*需完善*/.changeimg{ width:22px; height:22px; display:inline-block; vertical-align:middle;background:url(uploads/img1.png) no-repeat 5px 1px}/*需完善*/.msg{ line-height:14px; color:#999; float:left; margin-left:5px;margin-top:2px; display:none; }.msg i{ display:inline-block; vertical-align:middle; width:25px; height:20px; background:url(uploads/img1_1.png) no-repeat}/*.msg .ati{ background:0 -71px}.msg .err{background:0 -39px}.msg .ok{background:0 -99px}*/</style><script type="text/javascript">function getLength(str){return str.replace(/[^\x00-xff]/g,"xx").length;//使⽤替换函数将正则值替换为xx}function findStr(str,n){//检测是否密码为连续的相同字符var tmp=0;for(var i=0;i<str.length;i++){if(str.charAt(i)==n){tmp++;}}return tmp;}var code = ""; //验证码//⽣成验证码function createCode(){code = "";//重新初始化验证码var num = 4; //验证码位数var codeList = new Array(1,2,3,4,5,6,7,8,9,0,'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); //验证码内容//循环获取每⼀位验证码for(var i = 0; i < num; i++){//随机数 * 验证码候选元素数量 = 候选元素数组下标code += codeList[Math.floor(Math.random() * codeList.length)];}document.getElementById("txtCode").value = code;}window.onload=function (){createCode(); //加载验证码var alnput=document.getElementsByTagName('input');var oName=alnput[0];var pwd=alnput[1];var pwd2=alnput[2];var ma1=alnput[3];var ma2=alnput[4];var aP=document.getElementsByTagName('p');//ap中的P为⼤写var name_msg=aP[0];var pwd_msg=aP[1];var pwd2_msg=aP[2];var ma=aP[3];var count=document.getElementById('count');var aEm=document.getElementsByTagName('em');var name_length=0;//1.数字、字母(不分⼤⼩写)、汉字、下划线//2. 5-25字符,推荐使⽤中⽂//\u4e00-\u9fa5(这是汉字的范围)var re=/[^\w\u4e00-\u9fa5]/g;var re_n=/[^\d]/g;var re_t=/[^a-zA-Z]/g;//⽤户名oName.onfocus=function(){name_msg.style.display="block";name_msg.innerHTML='<i class="ati"></i>5-25个字符';}//获取焦点事件oName.onkeyup=function(){count.style.visibility="visible";//有疑惑name_length=getLength(this.value);count.innerHTML=name_length+"个字符";if(name_length==0){count.style.visibility="hidden";}}//键盘事件oName.onblur=function(){//含有⾮法字符var re=/[^\w\u4e00-\u9fa5]/g;if(re.test(this.value)){name_msg.innerHTML='<i class="err"></i>含有⾮法字符';}//不能为空else if(this.value==""){name_msg.innerHTML='<i class="err"></i>不能为空';}//长度超过25个字符else if(name_length>25){name_msg.innerHTML='<i class="err"></i>长度超过25个字符';}//长度少于6个字符else if(name_length<6){name_msg.innerHTML='<i class="err"></i>长度少于6个字符';}//okelse{name_msg.innerHTML='<i class="ok"></i>ok';}}//失去焦点事件//密码pwd.onfocus=function(){pwd_msg.style.display="block";pwd_msg.innerHTML='<i class="ati"></i>6-16个字符,请使⽤字母加数字或符号的组合密码,不能单独使⽤字母、数字或符号。
因为全棋同学的系统需求,虽然会员机制并不难,他一定也很快就学会了,而我还是写此教学来引导他,帮助他系统扩展的更快,相信他的系统在未来也一定会很有用的! 而这个教学主要是说明session应用在会员机制上,而教学的程序码还是有些地方有没有考虑的很周详,安全上还是会有瑕疵,希望大家见谅。
以下为资料表的栏位资料:以下为会员系统示意图:(1) 首页- 登入页面(index.php)<!-- 设定网页编码为UTF-8 --><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><form name="form" method="post" action="connect.php">账号:<input type="text" name="id" /> <br>密码:<input type="password" name="pw" /> <br><input type="submit" name="button" value="登入" /><a href="register.php">申请账号</a></form>(2) php连结MySQL数据库语法(mysql_connect.inc.php)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?php//数据库设定//数据库位置$db_server = "localhost";//数据库名称$db_name = "mydb";//数据库管理者账号$db_user = "root";//数据库管理者密码$db_passwd = "1234";//对数据库连线if(!@mysql_connect($db_server, $db_user, $db_passwd))die("无法对数据库连线");//数据库连线采UTF8mysql_query("SET NAMES utf8");//选择数据库if(!@mysql_select_db($db_name))die("无法使用数据库");>(3) 会员ID、PW与MySQL数据库作认证(connect.php)<?php session_start(); ?><!--上方语法为启用session,此语法要放在网页最前方--><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?php//连接数据库//只要此页面上有用到连接MySQL就要include它include("mysql_connect.inc.php");$id = $_POST['id'];$pw = $_POST['pw'];//搜寻数据库资料$sql = "SELECT * FROM member_table where username = '$id'";$result = mysql_query($sql);$row = @mysql_fetch_row($result);//判断账号与密码是否为空白//以及MySQL数据库里是否有这个会员if($id != null && $pw != null && $row[1] == $id && $row[2] == $pw){//将账号写入session,方便验证使用者身份$_SESSION['username'] = $id;echo '登入成功!';echo '<meta http-equiv=REFRESH CONTENT=1;url=member.php>';}else{echo '登入失败!';echo '<meta http-equiv=REFRESH CONTENT=1;url=index.php>';}>(4) 会员登入成功后页面- 此页面有「新增」、「修改」、「删除」与「登出」的连结并且会显示出所有会员资料(member.php)<?php session_start(); ?><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?phpinclude("mysql_connect.inc.php");echo '<a href="logout.php">退出</a> <br><br>';//此判断为判定观看此页有没有权限//说不定是路人或不相关的使用者//因此要给予排除if($_SESSION['username'] != null){echo '<a href="register.php">新增</a> ';echo '<a href="update.php">修改</a> ';echo '<a href="delete.php">删除</a> <br><br>';//将数据库里的所有会员资料显示在画面上$sql = "SELECT * FROM member_table";$result = mysql_query($sql);while($row = mysql_fetch_row($result)){echo "$row[0] - 名字(账号):$row[1], " ."电话:$row[3], 地址:$row[4], 备注:$row[5]<br>";}}else{echo '您无权限观看此页面!';echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>';}>(5) 登出- 洗掉登入使用者之session(logout.php)<?php session_start(); ?><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?php//将session清空unset($_SESSION['username']);echo '登出中......';echo '<meta http-equiv=REFRESH CONTENT=1;url=index.php>';>(6) 加入(注册)会员- 「填写」会员资料(register.php)<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><form name="form" method="post" action="register_finish.php">账号:<input type="text" name="id" /> <br>密码:<input type="password" name="pw" /> <br>再一次输入密码:<input type="password" name="pw2" /> <br>电话:<input type="text" name="telephone" /> <br>地址:<input type="text" name="address" /> <br>备注:<textarea name="other" cols="45" rows="5"></textarea> <br><input type="submit" name="button" value="确定" /></form>(7) 加入(注册)会员- 「新增」会员资料进MySQL数据库(register_finish.php) <?php session_start(); ?><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?phpinclude("mysql_connect.inc.php");$id = $_POST['id'];$pw = $_POST['pw'];$pw2 = $_POST['pw2'];$telephone = $_POST['telephone'];$address = $_POST['address'];$other = $_POST['other'];//判断账号密码是否为空值//确认密码输入的正确性if($id != null && $pw != null && $pw2 != null && $pw == $pw2){//新增资料进数据库语法$sql = "insert into member_table (username, password, telephone, address, other) values ('$id', '$pw', '$telephone', '$address', '$other')";if(mysql_query($sql)){echo '新增成功!';echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>';}else{echo '新增失败!';echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>';}}else{echo '您无权限观看此页面!';echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>';}>(8) 修改会员资料- 「填写」要修改之会员资料(update.php)<?php session_start(); ?><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?phpinclude("mysql_connect.inc.php");if($_SESSION['username'] != null){//将$_SESSION['username']丢给$id//这样在下SQL语法时才可以给搜寻的值$id = $_SESSION['username'];//若以下$id直接用$_SESSION['username']将无法使用$sql = "SELECT * FROM member_table where username='$id'";$result = mysql_query($sql);$row = mysql_fetch_row($result);echo "<form name=\"form\" method=\"post\" action=\"update_finish.php\">";echo "账号:<input type=\"text\" name=\"id\" value=\"$row[1]\" />(此项目无法修改) <br>";echo "密码:<input type=\"password\" name=\"pw\" value=\"$row[2]\" /> <br>";echo "再一次输入密码:<input type=\"password\" name=\"pw2\" value=\"$row[2]\" /> <br>";echo "电话:<input type=\"text\" name=\"telephone\" value=\"$row[3]\" /> <br>";echo "地址:<input type=\"text\" name=\"address\" value=\"$row[4]\" /> <br>";echo "备注:<textarea name=\"other\" cols=\"45\" rows=\"5\">$row[5]</textarea> <br>";echo "<input type=\"submit\" name=\"button\" value=\"确定\" />";echo "</form>";}else{echo '您无权限观看此页面!';echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>';}>(9) 修改会员资料- 「更新」要修改之会员资料进MySQL数据库(update_finish.php)<?php session_start(); ?><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?phpinclude("mysql_connect.inc.php");$id = $_POST['id'];$pw = $_POST['pw'];$pw2 = $_POST['pw2'];$telephone = $_POST['telephone'];$address = $_POST['address'];$other = $_POST['other'];//红色字体为判断密码是否填写正确if($_SESSION['username'] != null && $pw != null && $pw2 != null && $pw == $pw2){$id = $_SESSION['username'];//更新数据库资料语法$sql = "update member_table set password=$pw, telephone=$telephone, address=$address, other=$other where username='$id'";if(mysql_query($sql)){echo '修改成功!';}else{echo '修改失败!';echo '<meta http-equiv=REFRESH CONTENT=2;url=member.php>';}}else{echo '您无权限观看此页面!';echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>';}>(10) 删除会员资料- 「填写」要删除之会员账号(delete.php)<?php session_start(); ?><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?phpif($_SESSION['username'] != null){echo "<form name=\"form\" method=\"post\" action=\"delete_finish.php\">";echo "要删除的账号:<input type=\"text\" name=\"id\" /> <br>";echo "<input type=\"submit\" name=\"button\" value=\"删除\" />";echo "</form>";}else{echo '您无权限观看此页面!';echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>';}>(11) 删除会员资料- 对MySQL数据库进行「删除」会员资料(delete_finish.php) <?php session_start(); ?><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><?phpinclude("mysql_connect.inc.php");$id = $_POST['id'];if($_SESSION['username'] != null){//删除数据库资料语法$sql = "delete from member_table where username='$id'";if(mysql_query($sql)){echo '删除成功!';}else{echo '删除失败!';echo '<meta http-equiv=REFRESH CONTENT=2;url=member.php>';}}else{echo '您无权限观看此页面!';echo '<meta http-equiv=REFRESH CONTENT=2;url=index.php>';}>。
目录1 前言 ........................................................................................................................... 页码问题提出 ........................................................ 页码研究意义 ........................................................ 页码2 系统需求分析 ............................................................................................................. 页码系统功能分析.............................................................................................................. 页码系统功能模块设计...................................................................................................... 页码3 数据库的概念结构设计............................................ 页码数据抽象 ......................................................... 页码设计全局概念模式 ................................................. 页码4 数据库的逻辑设计................................................. 页码形成初始的关系模式 ............................................... 页码关系模式的规范化处理.............................................. 页码5系统的实现与调试 ................................................. 页码6 总结............................................................... 页码参考文献 .......................................................................................................................... 页码1 前言问题提出随着嵌入式的发展,近年来,嵌入式在社会发展中占据着越来越重要的地位。
云班课登录界面制作代码制作一个HTML登录页面,包含邮箱,登录密码,立即注册,忘记密码代码如下:HTML部分:<div class="dowebok"><div class="logo"></div><div class="form-item"><input id="username" type="text" autocomplete="off" placeholder="邮箱"></div><div class="form-item"><input id="password" type="password" autocomplete="off" placeholder="登录密码"></div><div class="form-item"><button id="submit">登录</button></div><div class="reg-bar"><a class="reg" href="javascript:">立即注册</a><a class="forget" href="javascript:">忘记密码</a></div></div>CSS部分:* { margin: 0; padding: 0; }html { height: 100%; }body { height: 100%; background: #fffurl(img/backgroud.png) 50% 50% no-repeat; background-size: cover;}.dowebok { position: absolute; left: 50%; top: 50%; width: 430px; height: 550px; margin: -300px 0 0 -215px; border: 1px solid #fff; border-radius: 20px; overflow: hidden;} .logo { width: 104px; height: 104px; margin: 50px auto 80px; background: url(img/login.png) 0 0 no-repeat; } .form-item { position: relative; width: 360px; margin: 0 auto; padding-bottom: 30px;}.form-item input { width: 288px; height: 48px;padding-left: 70px; border: 1px solid #fff; border-radius: 25px; font-size: 18px; color: #fff; background-color: transparent; outline: none;}.form-item button { width: 360px; height: 50px; border: 0; border-radius: 25px; font-size: 18px; color: #1f6f4a; outline: none; cursor: pointer; background-color: #fff; } #username { background: url(img/emil.png) 20px 14pxno-repeat; }#password { background: url(img/password.png) 23px 11pxno-repeat; }.tip { display: none; position: absolute; left: 20px; top: 52px; font-size: 14px; color: #f50; }.reg-bar { width: 360px; margin: 20px auto 0; font-size: 14px; overflow: hidden;}.reg-bar a { color: #fff; text-decoration: none; }.reg-bar a:hover { text-decoration: underline; }.reg-bar .reg { float: left; }.reg-bar .forget { float: right; }.dowebok ::-webkit-input-placeholder { font-size: 18px; line-height: 1.4; color: #fff;}.dowebok :-moz-placeholder { font-size: 18px;line-height: 1.4; color: #fff;}.dowebok ::-moz-placeholder { font-size: 18px;line-height: 1.4; color: #fff;}.dowebok :-ms-input-placeholder { font-size: 18px;line-height: 1.4; color: #fff;}@media screen and (max-width: 500px) {* { box-sizing: border-box; }.dowebok { position: static; width: auto; height: auto; margin: 0 30px; border: 0; border-radius: 0; }.logo { margin: 50px auto; }.form-item { width: auto; }.form-item input, .form-item button, .reg-bar { width: 100%; }}。
登陆注册系统模拟(源代码)#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>#define Max 71typedef struct{char name[20];char pw[20];int flag;}USER;USER user[Max];char Admin[20]="administrator";int count;int chance;void menu();void User_admin(char name[],char pw[]);void User_common(char name[],char pw[]);void Saved();int flag;void Inithtable(){for(int i=0;i<Max;i++)user[i].flag=0;}void password(char a[])//密码输入{int i=0;char c;while((c=getch())!=13){if(c==8 && i==0);else if(c==8 && i>0){i--;printf("%c%c%c",'\b','\0','\b');else{a[i++]=c;printf("*");}}a[i]='\0';printf("\n");}void jiami(char pw[],char a[])//加密{char c,*p;p=pw;c=*p;int i=0;while(c!='\0'){if(c>='0' && c<='9')//数字{c=c+5;if(c>'9')c=c-10;}else{c=c+5;if(c>'Z' && c<='Z'+5 || c>'z')c=c-26;}a[i++]=c;p++;c=*p;}a[i]='\0';}void jiemi(char pw[],char b[])//解密{char c,*p;p=pw;c=*p;while(c!='\0'){if(c>='0' && c<='9'){c=c-5;if(c<'0')c=c+10;}else{c=c-5;if(c<'A' || c<'a' && c>='a'-5)c=c+26;}b[i++]=c;p++;c=*p;}b[i]='\0';}int hash(int key)//构造哈希表{int H=key%Max;while(user[H].flag==1)H=(H+1)%Max;return H;}int hashsrch(char name[])//在哈希表中查找{int key=name[0]-'0';int H=key%Max;if(user[H].flag==0)return -1;else if(user[H].flag==1 && strcmp(user[H].name,name)==0)return H;else{while(user[H].flag==1 && strcmp(user[H].name,name)!=0 || user[H].flag==2) H=(H+1)%Max;if(user[H].flag==0)return -1;else return H;}}void Read()//将文件中的信息存入到哈希表中{Inithtable();FILE *fp;if((fp=fopen("info.txt","r"))==NULL){printf("文件打开错误!\n");exit(0);}while(!feof(fp)){char name[20],pwf[20],pw[20];fscanf(fp,"%s%s",name,pwf);jiemi(pwf,pw);count++;int key=name[0]-'0';int H=hash(key);strcpy(user[H].name,name);strcpy(user[H].pw,pw);user[H].flag=1;}fclose(fp);}void Search(char name[])//查找用户{int H=hashsrch(name);if(user[H].flag==1){if(H==-1)printf("该用户不存在!\n");elseprintf("用户名:%s\t密码:%s\n",user[H].name,user[H].pw);}elseprintf("该用户不存在!\n");}void Delete(char name[])//删除用户{if(strcmp(name,Admin)==0){char name1[20];printf("输入要删除的用户名:");gets(name1);int H=hashsrch(name1);int a=hashsrch(Admin);if(strcmp(name1,Admin)==0)printf("不能删除管理员账号!\n");else if(H!=-1){char pw[20];printf("请输入管理员密码:");password(pw);if(strcmp(user[a].pw,pw)==0){user[H].flag=2;count--;Saved();printf("用户信息删除成功!\n");}elseprintf("密码错误,不能进行删除操作!\n");}elseprintf("该用户不存在,不能进行删除操作!\n");}else{int H=hashsrch(name);user[H].flag=2;count--;Saved();printf("账户已注销!\n");flag=0;}}void Changepw(char name[],char pw[])//修改用户密码{char pw1[20],pw2[20],pw3[20];int H=hashsrch(name);printf("请输入当前用户的密码:");password(pw1);if(strcmp(pw1,pw)==0){loop: printf("请输入新密码:");password(pw2);printf("再次输入新密码:");password(pw3);while(strcmp(pw2,pw3)!=0){printf("两次输入的密码不一致!\n\n");goto loop;}if(strcmp(pw,pw2)==0){printf("新密码不能与旧密码一致!\n");goto loop;}else{strcpy(user[H].pw,pw2);Saved();printf("密码修改成功,请重新登录!\n");flag=0;}}else printf("当前密码错误!\n");}void Saved()//保存到文件{FILE *fp;char pw[20];if((fp=fopen("info.txt","w"))==NULL){printf("文件打开错误!\n");exit(1);}for(int i=0;i<Max;i++){if(user[i].flag==1){jiami(user[i].pw,pw);fprintf(fp,"\n%s\t%s",user[i].name,pw);}}if(fclose(fp)){printf("文件关闭错误!\n");exit(1);}}void Show()//显示所有用户{for(int i=0;i<Max;i++){if(user[i].flag==1)printf("用户名:%s\t密码:%s\n",user[i].name,user[i].pw);}}void User_admin(char name[],char pw[])//管理员操作界面{system("cls");printf("********************************************\n");printf("** 1-查找用户2-删除用户3-显示用户**\n** 4-修改密码5-用户数6-退出**");printf("\n********************************************");int choice;loop:printf("\n请输入序号:");scanf("%d",&choice);getchar();switch(choice){case 1:{char name[20];printf("请输入要查找的用户名:");gets(name);Search(name);}break;case 2:Delete(name);break;case 3:Show();break;case 4:Changepw(name,pw);break;case 5:printf("总共有%d个用户!\n",count);break;case 6:flag=0;return;default:{printf("请输入正确的序号!\n\n");goto loop;}}printf("回车键继续......");getchar();}void User_common(char name[],char pw[])//普通用户操作界面{system("cls");int choice;printf("%s,欢迎!\n",name);printf("****************************************\n");printf("** 1-修改密码2-注销账号3-退出**\n");printf("****************************************"); loop:printf("\n请选择操作序号:");scanf("%d",&choice);getchar();switch(choice){case 1:Changepw(name,pw);break;case 2:Delete(name);break;case 3:flag=0;return;default:{printf("请输入正确的序号!\n\n");goto loop;}}printf("回车键继续......");getchar();}void Landing()//登陆界面{chance=4;char name[20],pw[20];printf("用户名:");gets(name);loop:printf("密码:");password(pw);int H=hashsrch(name);if(H!=-1){if(strcmp(user[H].pw,pw)==0){flag=1;if(strcmp(name,Admin)==0)while(flag)User_admin(name,pw);elsewhile(flag)User_common(name,pw);}else{chance--;if(chance){printf("密码错误,还有%d次机会!\n",chance);goto loop;}else{printf("登陆失败,请重新登录!\n");printf("回车键继续......");getchar();}}}else{printf("该用户不存在!\n");printf("回车键继续......");getchar();}}void Register()//注册界面{if(count==Max){printf("用户数已到最大值!\n\n");menu();return;}char name[20],pw1[20],pw2[20];printf("用户名:");gets(name);loop:printf("请输入密码:");password(pw1);printf("再次输入密码:");password(pw2);while(strcmp(pw1,pw2)!=0){printf("两次输入的密码不一致!\n\n");goto loop;}if(hashsrch(name)!=-1)printf("用户名已存在,请重新注册!");else{int key=name[0]-'0';int H=hash(key);strcpy(user[H].name,name);strcpy(user[H].pw,pw1);user[H].flag=1;count++;Saved();printf("注册成功,请从登陆界面登陆!");}printf("\n回车键继续......");getchar();}void menu()//登陆注册菜单{system("cls");printf("**********************************\n** 1-登陆2-注册3-退出**\n**********************************\n");int choice;printf("请选择操作序号:");loop:scanf("%d",&choice);getchar();switch(choice){case 1:Landing();break;case 2:Register();break;case 3:exit(0);break;default:{printf("请重新输入操作序号:");goto loop;}}}void main(){Read();while(1)menu(); }。