读书人

小弟我凌乱了简单的表单提交如何也

发布时间: 2013-01-20 10:22:40 作者: rapoo

我凌乱了,简单的表单提交,怎么也搞不定!
本帖最后由 oShanZhiYi 于 2013-01-10 02:58:14 编辑 表单:
<form name=form33 method=post action="" enctype="multipart/form-data">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> 

</td>
</tr>
<tr>
<td>
<textarea class="Comment_line" onfocus="if(this.value=='游客评论(限140字内)') this.value=''"
onblur="if(this.value=='') this.value='游客评论(限140字内)'" name="content">
</textarea>
</td>
</tr>
<tr>
<td height="10">


</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="10%" height="33" align="right">
您的姓名:
</td>
<td width="22%" height="33">
<span class="reg_con_LR">
<input type="text" name="pinglun_name" class="input_1"
/>
</span>


</td>
<td width="68%">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="17%" height="33" align="right">
您的邮箱:
</td>
<td width="83%" height="33">
<span class="reg_con_LR">
<input type="text" name="pinglun_email" class="input_1"
/>


</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="599"> 



</td>
<td width="191" rowspan="2">
<input type="hidden" name="xianlubianhao" value="<?php echo $_REQUEST[xianlubianhao];?>"
/>
<img src="images/fbpl.jpg" width="134" height="35" onclick="tjpl()" style="cursor:hand "
/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>



<script>
/*******************判断JS************************/
function tjpl() {
var sFrom = document.form33;
var pinglun_name = document.getElementById("pinglun_name");
var content = document.getElementById("content");
var pinglun_email = document.getElementById("pinglun_email");

if (Trim(pinglun_name.value) == "") {
alert("对不起,姓名必须输入!");
pinglun_name.focus();
} else if (!checkemaill(pinglun_email.value)) {
alert("对不起,请你输入正确的邮箱!");
pinglun_email.focus();
}

else {
sFrom.method = "post";
sFrom.action = "./123.php?flag=tijiao";
sFrom.submit();
}
}

function checkemaill(str) {
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!myreg.test(str)) {

} else {
return true;
}


}
function Trim(str) {
if (str.charAt(0) == " ") {
str = str.slice(1);
str = Trim(str);
}
return str;
}


</script>




处理的页面:
//提交评论
if( $_REQUEST['flag']=='tijiao')
{
$comment_date = time()+28800;
$sql = "INSERT INTO `wmpinglun` (
`pinglun_id`,
`pinglun_name`,
`pinglun_email`,
`comment_date`,
`content`,
`flag`,
`xianlubianhao`
) VALUES (
NULL,
'".$_REQUEST[pinglun_name]."',
'".$_REQUEST[pinglun_email]."',
'".$comment_date."',
'".$_REQUEST[content]."',
'2',
'".$_REQUEST[xianlubianhao]."');";
updateinfo($sql);
echo "<script>history.go(-1);alert('谢谢您的评论,系统稍后将显示您的正规评论!');</script>";
}


?>



没有报错,就是插入不了数据库,怎么回事? 一直用这种方式去处理表单的啊,今天突然出现错误,发现不能插入表单了!

麻烦各位帮帮忙! input function class email
[解决办法]
$_REQUEST['xianlubianhao']

给form加上ID,然后
var sFrom = document.getElementById("form33");
[解决办法]


处理的页面:
//提交评论
if( $_REQUEST['flag']=='tijiao')
{
$comment_date = time()+28800;
$sql = "INSERT INTO `wmpinglun` (
`pinglun_id`,
`pinglun_name`,
`pinglun_email`,
`comment_date`,
`content`,
`flag`,
`xianlubianhao`
) VALUES (
NULL,
'".$_REQUEST[pinglun_name]."',
'".$_REQUEST[pinglun_email]."',
'".$comment_date."',
'".$_REQUEST[content]."',
'2',
'".$_REQUEST[xianlubianhao]."');";
updateinfo($sql);


检查看看是不是这一段代码有问题.
一般来说 评论ID不应该为空, 应该是自增数字,确保唯一性.
试试看把insert语句改为



$sql = "INSERT INTO `wmpinglun` (
`pinglun_name`,
`pinglun_email`,
`comment_date`,
`content`,
`flag`,
`xianlubianhao`
) VALUES (
'".$_REQUEST[pinglun_name]."',
'".$_REQUEST[pinglun_email]."',


'".$comment_date."',
'".$_REQUEST[content]."',
'2',
'".$_REQUEST[xianlubianhao]."');";
updateinfo($sql);


[解决办法]
此外, 既然使用了getElementById("****"), 那么相应的表单控件也应该有对应的 id="***", 而不光是 name="***"
[解决办法]
IE里,即使没有ID,也会正确获得,其他浏览器就不行了。

读书人网 >PHP

热点推荐