求改代码 本帖最后由 xuzuning 于 2011-10-21 15:00:47 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能是 $_POST['Submit']=="提交" 原因,HTML页面和php处理页面编码不一致你的程序出错就走的两条路,查询失败和表单验证失败。那也就可以轻松找到原因的。。 先确认是哪块的添加失败提示。<?phpinclude("conn/conn.php");if(isset($_POST['Submit'])&& !empty($_POST['textfield'])&& !empty($_POST['textarea'])&& ($_POST['Submit']=="提交"){ $insert = mysql_query("insert into tb_xxgk(title,content) values('".$_POST['textfield']."','".$_POST['textarea']."')"); if($insert){ echo "<script> alert('添加成功!'); window.location.href='add_xxgk.php'</script>"; } else{ echo "<script> alert('添加失败1!'); window.location.href='add_xxgk.php'</script>"; }}else{ echo "<script> alert('添加失败2!'); window.location.href='index.php'</script>";}?> 我好像没见过并且是用and的,用&&吧 这样就好排查了。那就是这块的判断出问题了if(isset($_POST['Submit'])&& !empty($_POST['textfield'])&& !empty($_POST['textarea'])&& ($_POST['Submit']=="提交")表单怎么写的。 这是表单部分的代码:<body><form id="form1" name="form1" method="post" action="add_xxgk_ok.php"><table width="700" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="32" background="images/right_line.gif"> 您现在的位置:易查供求信息网 > 后台管理系统</td> </tr> <tr> <td height="32" background="images/right_top.gif"> </td> </tr> <tr> <td height="488" align="center" valign="top" background="images/right_middle.gif"> <table width="521" height="151" align="center"> <tr> <td width="73"><span class="STYLE1">标题</span></td> <td width="436"><label> <input name="textfield" type="text" size="40" /> </label></td> </tr> <tr> <td><span class="STYLE1">内容</span></td> <td><label> <textarea name="textarea" cols="50" rows="20"></textarea> </label></td> </tr> <tr> <td colspan="2" align="center"><label> <input type="submit" name="Submit" value="添加" /> </label> <label> <input type="submit" name="Submit2" value="取消" /> </label></td> </tr> </table> </table></form></body></html> <input type="submit" name="Submit" value="添加" />这里的值是 ”添加“$_POST['Submit']=="提交" 这里值是提交。你觉得能相等么? 你的情况根本没进入if分支,而是直接进入最外层的的else分支了。改为: if(isset($_POST['Submit']) && !empty($_POST['textfield']) && !empty($_POST['textarea'])){}最后一个可以不用写了。。而且你要让它进入改分支,你得满足它的条件(点击添加+textfield、textarea不为空) 这样才能进入啊。 1.先把这里改了。 <input type="submit" name="Submit" value="添加" /> <input type="reset" name="reset" value="取消" />2.直接判断是否提交表单以及值是否为空if(isset($_POST['Submit'])&& !empty($_POST['textfield'])&& !empty($_POST['textarea'])){} 如果还是有错误,那就是你的sql语句那块的问题了。echo 下你的sql语句,看是否正确,如果正确,那么继续mysql_query("insert into tb_xxgk(title,content) values('".$_POST['textfield']."','".$_POST['textarea']."')") or die(mysql_error());看下具体是什么错误。 if(isset($_POST['submit']) && $_POST['textfield']!=null && $_POST['textarea']!=null&& $_POST['submit']=="添加")这一句好像就是永假的一样 不会,可能是编码不一致导致的,把最后一个判断条件去掉。if(isset($_POST['submit']) && $_POST['textfield']!=null && $_POST['textarea']!=null)只用这三个条件就行。 请注意大小写!你表单中是 name="Submit"那么 $_POST['submit'] 也应该是 $_POST['Submit'] 问个简单的下拉框问题…… PHP 视屏如何添加超链接 长篇文章分页显示的代码要怎么写???我写的如下,但是会出现乱码,点击下一页就没有内容显示,要怎么修改? php 不能显示错误信息 php执行sh脚本等待返回值时,其他页面无响应 有没有字符编码转换工具+phpmyadmin字符问题? 神奇的单引号!!!这是什么问题??? 学习php的一个缺点:主机提供比asp的少多了 php与sql server安装问题,急急!!!! 找到一个文本驱动的非常像VBB的优秀论坛 急,mysql中NOT IN的问题 PHP的时间如何增加10分钟 和 加一天的时间?
你的程序出错就走的两条路,查询失败和表单验证失败。那也就可以轻松找到原因的。。
include("conn/conn.php");
if(isset($_POST['Submit'])&& !empty($_POST['textfield'])&& !empty($_POST['textarea'])&& ($_POST['Submit']=="提交"){
$insert = mysql_query("insert into tb_xxgk(title,content) values('".$_POST['textfield']."','".$_POST['textarea']."')");
if($insert){
echo "<script> alert('添加成功!'); window.location.href='add_xxgk.php'</script>";
}
else{
echo "<script> alert('添加失败1!'); window.location.href='add_xxgk.php'</script>";
}
}
else{
echo "<script> alert('添加失败2!'); window.location.href='index.php'</script>";
}
?>
这样就好排查了。
那就是这块的判断出问题了
if(isset($_POST['Submit'])&& !empty($_POST['textfield'])&& !empty($_POST['textarea'])&& ($_POST['Submit']=="提交")表单怎么写的。
<body>
<form id="form1" name="form1" method="post" action="add_xxgk_ok.php">
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="32" background="images/right_line.gif"> 您现在的位置:易查供求信息网 > 后台管理系统</td>
</tr>
<tr>
<td height="32" background="images/right_top.gif"> </td>
</tr>
<tr>
<td height="488" align="center" valign="top" background="images/right_middle.gif">
<table width="521" height="151" align="center">
<tr>
<td width="73"><span class="STYLE1">标题</span></td>
<td width="436"><label>
<input name="textfield" type="text" size="40" />
</label></td>
</tr>
<tr>
<td><span class="STYLE1">内容</span></td>
<td><label>
<textarea name="textarea" cols="50" rows="20"></textarea>
</label></td>
</tr>
<tr>
<td colspan="2" align="center"><label>
<input type="submit" name="Submit" value="添加" />
</label>
<label>
<input type="submit" name="Submit2" value="取消" />
</label></td>
</tr>
</table>
</table></form>
</body>
</html>
这里的值是 ”添加“$_POST['Submit']=="提交" 这里值是提交。你觉得能相等么?
改为: if(isset($_POST['Submit']) && !empty($_POST['textfield']) && !empty($_POST['textarea'])){}最后一个可以不用写了。。而且你要让它进入改分支,你得满足它的条件(点击添加+textfield、textarea不为空) 这样才能进入啊。
<input type="submit" name="Submit" value="添加" />
<input type="reset" name="reset" value="取消" />2.直接判断是否提交表单以及值是否为空
if(isset($_POST['Submit'])&& !empty($_POST['textfield'])&& !empty($_POST['textarea'])){}
echo 下你的sql语句,看是否正确,如果正确,那么继续mysql_query("insert into tb_xxgk(title,content) values('".$_POST['textfield']."','".$_POST['textarea']."')") or die(mysql_error());看下具体是什么错误。
不会,可能是编码不一致导致的,把最后一个判断条件去掉。if(isset($_POST['submit']) && $_POST['textfield']!=null && $_POST['textarea']!=null)只用这三个条件就行。
你表单中是 name="Submit"
那么 $_POST['submit'] 也应该是 $_POST['Submit']