问题一:注册时专业班级和邮箱为空时他不能检测,直接就显示注册成功了
问题二:注册填写专业班级和邮箱时,数据库里显示的是空
问题三:在adduser页面里 如果把注释掉的这部分
String username = request.getParameter("username");
//username = new String(username.getBytes("ISO-8859-1"));
String password = request.getParameter("password");
//password = new String(password.getBytes("ISO-8859-1"));
String profession = request.getParameter("profession");
//profession = new String(profession.getBytes("ISO-8859-1"));
String email = request.getParameter("email");
//email = new String(email.getBytes("ISO-8859-1")); 返回的话,后台有空指针错误注册代码如下:
<script language="javascript">
function checkform(){
if (form1.username.value.length<3|| form1.username.value.length>10){
alert("用户名长度必须为3~10位!");
form1.username.focus();
return false;
}
if (form1.password.value.length<5|| form1.password.value.length>15){
alert("密码长度必须为5~15位!");
form1.password.focus();
return false;
}
if (form1.password.value!=form1.passwordconfirm.value){
alert("确认密码不相符!");
form1.passwordconfirm.focus();
return false;
}
if (form1.profession.value=""){
alert("请输入专业班级!");
form1.profession.focus();
return false;
}
if (form1.email.value=""){
alert("请输入正确的电子邮箱!");
form1.email.focus();
return false;
}
return true;
}
</script><form id="form1" name="form1" method="post" action="adduser.jsp" onSubmit="return checkform()">
<div align="center">
<table width="505" height="458" border="1">
<tr>
<td width="495" height="452" background="file:///F|/Dreamwaver/E/photo/green.jpg"><div align="center">
<table width="200" border="0">
<tr>
<td height="25"><div align="center" class="STYLE11">会员注册</div></td>
</tr>
</table>
</div>
<table width="436" height="234" border="0" align="center">
<tr>
<td width="216" height="47"><span class="STYLE10">用 户 名:</span></td>
<td width="210"><label></label>
<input name="username" type="text" size="30" maxlength="20" /></td>
</tr>
<tr>
<td height="42"><p class="STYLE10">密    码:</p>
</td>
<td><input name="password" type="password" size="30" maxlength="20" /></td>
</tr>
<tr>
<td height="41"><span class="STYLE10">确认密码:</span></td>
<td><input name="passwordconfirm" type="password" size="30" maxlength="20" /></td>
</tr> <tr>
<td height="42"><span class="STYLE10">专业班级:</span></td>
<td><input name="profession" type="text" size="30" maxlength="30" /></td>
</tr> <tr>
<td height="42"><span class="STYLE10">电子邮箱:</span></td>
<td><input name="email" type="text" size="30" maxlength="20" /></td>
</tr>
</table>
<p align="center">
<input name="Submit" type="submit" class="STYLE10" value="注册" />
<input name="reset" type="reset" class="STYLE10" value="重填" />
问题二:注册填写专业班级和邮箱时,数据库里显示的是空
问题三:在adduser页面里 如果把注释掉的这部分
String username = request.getParameter("username");
//username = new String(username.getBytes("ISO-8859-1"));
String password = request.getParameter("password");
//password = new String(password.getBytes("ISO-8859-1"));
String profession = request.getParameter("profession");
//profession = new String(profession.getBytes("ISO-8859-1"));
String email = request.getParameter("email");
//email = new String(email.getBytes("ISO-8859-1")); 返回的话,后台有空指针错误注册代码如下:
<script language="javascript">
function checkform(){
if (form1.username.value.length<3|| form1.username.value.length>10){
alert("用户名长度必须为3~10位!");
form1.username.focus();
return false;
}
if (form1.password.value.length<5|| form1.password.value.length>15){
alert("密码长度必须为5~15位!");
form1.password.focus();
return false;
}
if (form1.password.value!=form1.passwordconfirm.value){
alert("确认密码不相符!");
form1.passwordconfirm.focus();
return false;
}
if (form1.profession.value=""){
alert("请输入专业班级!");
form1.profession.focus();
return false;
}
if (form1.email.value=""){
alert("请输入正确的电子邮箱!");
form1.email.focus();
return false;
}
return true;
}
</script><form id="form1" name="form1" method="post" action="adduser.jsp" onSubmit="return checkform()">
<div align="center">
<table width="505" height="458" border="1">
<tr>
<td width="495" height="452" background="file:///F|/Dreamwaver/E/photo/green.jpg"><div align="center">
<table width="200" border="0">
<tr>
<td height="25"><div align="center" class="STYLE11">会员注册</div></td>
</tr>
</table>
</div>
<table width="436" height="234" border="0" align="center">
<tr>
<td width="216" height="47"><span class="STYLE10">用 户 名:</span></td>
<td width="210"><label></label>
<input name="username" type="text" size="30" maxlength="20" /></td>
</tr>
<tr>
<td height="42"><p class="STYLE10">密    码:</p>
</td>
<td><input name="password" type="password" size="30" maxlength="20" /></td>
</tr>
<tr>
<td height="41"><span class="STYLE10">确认密码:</span></td>
<td><input name="passwordconfirm" type="password" size="30" maxlength="20" /></td>
</tr> <tr>
<td height="42"><span class="STYLE10">专业班级:</span></td>
<td><input name="profession" type="text" size="30" maxlength="30" /></td>
</tr> <tr>
<td height="42"><span class="STYLE10">电子邮箱:</span></td>
<td><input name="email" type="text" size="30" maxlength="20" /></td>
</tr>
</table>
<p align="center">
<input name="Submit" type="submit" class="STYLE10" value="注册" />
<input name="reset" type="reset" class="STYLE10" value="重填" />
解决方案 »
- DWR2.0结合struts2怎么alert出来的就是null???谢谢各位
- Cannot add or update a child row: a foreign key constraint fails
- 偷偷问个简单的问题。。。。
- jsp连数据库为什么报这个错?
- 网站的前台和后台登录Session管理问题?
- 淘宝的数据库搜索技术
- JPA执行存储过程需要在方法上注明@Transactional吗
- JDBC链接SQLServer 2000取text类型字段的问题,解决者100分奉送
- iis+tomcat
- java url匹配算法,没有现成可否给个思路,多谢各位大神
- 远程空间数据源配置
- Java mysql 登录啊啊啊
问题2:页面的数据没有传到后台去。(小脚本项目吧?javaBeen是不是没接收到。)
问题3:由于问题1引起的问题三,获取的是空值,转码肯定抛出空异常。
我这个不是用javaBean做的 具体代码如下:
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;//建立与数据库的连接
stmt=conn.createStatement();
String sql="select * from huiyuan where username='"+username+"'";
rs=stmt.executeQuery(sql);
if(rs.next()){
%>
<script language="javascript">
alert("此用户名已经存在,请重新注册!")
history.go(-1);
</script>
<%
}else{
String str = "INSERT INTO huiyuan VALUES('"+username+"','"+password+"','"+profession+"','"+email+"')";
stmt.executeUpdate(str);
%>
<script language="javascript">
alert("注册成功!")
location.herf="login.jsp";
</script>
<%
}
rs.close();
stmt.close();
conn.close();
麻烦帮我看下具体是怎么回事么 如何解决 谢谢
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;//建立与数据库的连接
String sql="select * from huiyuan where username='"+username+"'";
stmt=conn.createStatement(sql);
rs=stmt.executeQuery();
}
==>
if(form1.profession.value==""){
}
你js判断是否为空用“=”,应该是“==”。你那样相当于把空字符串赋值给“专业班级”和“邮箱”。按逻辑执行下来,即使你在提交之前两个属性不为空的,当点击提交执行到相关判断的js时,“=”符号已经把两个属性的值给替换成“”的了。所以你在adduser页面用一个空的对象来转码故报错。所以数据两个字段为空(没转码情况下)。