注册 登录
编程论坛 ASP技术论坛

论坛发帖的程序遇到两个问题

abeier009 发布于 2011-02-14 00:30, 940 次点击
最近在网上下载了一个论坛发帖的程序,遇到两个问题检查了好长时间都解决不了,贴上来请教大虾们帮忙一下,不甚感激:

论坛发帖的程序http://www.

第一个问题:编辑器里边内容可以编辑,但是保存数据库中却无法存入

第二个问题:帖子标题中输入英文字母可以计算输入多少个字,但是输入中文却不能计算输入多少个字
11 回复
#2
yms1232011-02-14 16:18
那个编辑器的字数统计并不是按字符数统计的,而是按字节统计的,因为中文占2个字节,所以长度肯定是X2

<form name="form1" method="post" action="456.asp" onsubmit="return checkform1()">
无法保存问题出在这句话的红字部分,js里没有定义checkform1()函数
#3
abeier0092011-02-14 20:51
首先谢谢斑竹 原来的那句是这样的 <FORM id=postform name=postform onsubmit="validate(this);return false"
action=post.php?action=newthread&amp;fid=353&amp;extra=&amp;topicsubmit=yes
method=post encType=multipart/form-data>

要想能存入数据库 不知道要将
<form name="form1" method="post" action="456.asp" onsubmit="return checkform1()">
怎么修改

#4
gupiao1752011-02-14 23:21
以下是引用abeier009在2011-2-14 20:51:07的发言:

首先谢谢斑竹 原来的那句是这样的
action=post.php?action=newthread&fid=353&extra=&topicsubmit=yes
method=post encType=multipart/form-data>

要想能存入数据库 不知道要将

怎么修改
你的后台是ASP还好似PHP啊?

不管是哪个,你把post.php或者你自己的ASP打开看看设置一个断点,看看能否正确获取到前端的数据,如果可以再一步一步向下操作!
另外注意:check函数,这个函数目的是检验前端数据的,其实在后台也需要检测,而且比前端更重要!
#5
abeier0092011-02-15 12:25
我的后台是ASP 存入文件是456.asp代码如下:
 subject = Request.form("subject")  
 message = Request.form("message")

连接数据库

set rs = Server.CreateObject("ADODB.Recordset")
sql = "select * from 789 where  subject = '"&Request.form("subject")&"'"
rs.Open sql,conn,1,3
if not rs.EOF then
  response.write("<script>alert('对不起,该数据记录已经存在!');location.href='javascript:history.go(-1)';</script>")
else
  rs.AddNew()
  rs("subject") = subject
  rs("message") = message
   rs.Update()
   rs.Close()
   response.write("<script>alert('OK,该帖子已经添加成功!');location.href='123.asp';</script>")
end if

不理解楼上这位斑竹怎么设置一个断点,检查代码好多遍了 就是无法保存数据啊
#6
gupiao1752011-02-15 14:26
subject = Request.form("subject")  
message = Request.form("message")
response.write subject&"#"&message
response.end '这里停止一下看前面能否输出值!
#7
gupiao1752011-02-15 14:28
语法上,我建议你把SQL语句改为:
sql="insert into 表 (字段,,字段) values(值1 ,值2",改为这种的增加形式,
执行方式直接用conn.execute(sql)即可!连rs都不需要建立!
#8
abeier0092011-02-15 17:07
subject = Request.form("subject")  
message = Request.form("message")
response.write subject&"#"&message
response.end '这里停止一下看前面能否输出值!
用这个测试只输出subject  message还是为空


把SQL语句改为:
sql="insert into 表 (字段,,字段) values(值1 ,值2",改为这种的增加形式,
执行方式直接用conn.execute(sql)
还是存不进去

今天找到了一个相同的论坛http://www.,他的发布新帖也是这样,不知道他是怎么弄能存进去的
#9
wangjy5002011-02-15 18:44
if Not conn.execute("select * from 789 where  subject = '"&Request.form("subject")&"'"
).eof then
response.write("<script>alert('对不起,该数据记录已经存在!');location.href='javascript:history.go(-1)';</script>")
else
sql = "select * from 789"
rs.Open sql,conn,1,3
rs.AddNew()
rs("subject") = subject
rs("message") = message
rs.Update()
rs.Close()
response.write("<script>alert('OK,该帖子已经添加成功!');location.href='123.asp';</script>")
end if

改为这样试试!

[ 本帖最后由 wangjy500 于 2011-2-15 18:55 编辑 ]
#10
abeier0092011-02-15 23:28
应该是
if Not conn.execute("select * from 789 where  subject = '"&Request.form("subject")&"'"
).eof then
response.write("<script>alert('对不起,该数据记录已经存在!');location.href='javascript:history.go(-1)';</script>")
else
set rs = Server.CreateObject("ADODB.Recordset")   
sql = "select * from 789"
rs.Open sql,conn,1,3
rs.AddNew()
rs("subject") = subject
rs("message") = message
rs.Update()
rs.Close()
response.write("<script>alert('OK,该帖子已经添加成功!');location.href='123.asp';</script>")
end if

红色加上去 还是不能存入数据库 估计是123.ASP无法把编辑器中内容传递给456.asp,456.asp应该是正确的可以存入数据库的
#11
zznice2011-02-15 23:48
不能入库有神么提示
#12
abeier0092011-02-16 00:45
没有提示啊 如果把编辑器<textarea class=t1104_area id=posteditor_textarea style="WIDTH: 100%; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; HEIGHT: 350px; BORDER-BOTTOM-STYLE: none" tabIndex=100 name="message" cols="60" rows="10"></textarea>中id=posteditor_textarea删除就可以存入数据库 但是编辑器所有功能都没法使用 估计是id=posteditor_textarea 功能在JS中被清除数据了,我对JS不内行,无法找出错在什么地方,应该问题是出在123.asp中
1