1、php里当表单提交后之前的变量无法使用2、HTTP500 3、编码问题

chenjiang007 2010-07-26 03:58:44
1、我写了一个简单的留言板程序。在修改功能里边,当表单提交后,if($_POST[submit])的执行语句为什么不能得到$id的值呢?请高手们指教啊?谢谢了。
2、同时再问下HTTP500这个错误的原因和解决办法。还有php.ini的配置要了解多少?再次感谢
3、在开发中编码都使用什么。在数据库里utf8和gbk都有好多选项,不知道到底选哪个啊?php要用mysql_query("set names 'gbk'");或utf8吗?再次感谢

<?php
include("conn.php");
$id=$_GET[id];//由另一个页面里的链接得到id
$sql="select * from liuyan where id='$id'";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
$user=$row[user];
$content=$row[content];

}

if($_POST[submit]){
$update_content=$_POST[content];
$sql2="update liuyan SET content='$update_content' where id='$id'";//得不到$id的值sql2语句能执行但其实没有修改任何行。
if(mysql_query($sql2)){
echo "<script language=\"javascript\">alert('修改成功');location.href='liulan.php';</script>";
}else{
echo "<script language=\"javascript\">alert('修改失败');history.go(-1);</script>";
}

}

?>
<form name="update" method="post" action="update.php">
昵称:<input type="text" name="user" value="<?php echo $user;?>"/><br>
留言:<textarea name="content" cols="60" rows="9" ><?php echo $content;?></textarea><br/>
<input type="submit" name="submit" value="修改留言" />
</form>
...全文
48 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenjiang007 2010-07-26
呵呵,可以。又学到不少东西。

自学,好多东西都是碰到了才学到。谢谢
回复
gumwzg 2010-07-26
[Quote=引用 2 楼 dingsongtao 的回复:]
<form name="update" method="post" action="update.php?id=<?php echo $id; ?>">
昵称:<input type="text" name="user" value="<?php echo $user;?>"/><br>
留言:<textarea name="content" cols="60" rows="9" ><?php……
[/Quote]
+++
回复
Dleno 2010-07-26
action="update.php"
那提交的目的页面,就没有id的参数了。
当然提交后就获取不到id的值了。
你访问这个页面时,应该是update.php?id=123的形式吧?
如果是这样,那你的from的action可以直接等空。
即:
<form name="update" method="post" action="">也是可以的
回复
chenjiang007 2010-07-26
[Quote=引用 2 楼 dingsongtao 的回复:]
<form name="update" method="post" action="update.php?id=<?php echo $id; ?>">
昵称:<input type="text" name="user" value="<?php echo $user;?>"/><br>
留言:<textarea name="content" cols="60" rows="9" ><?php……
[/Quote]
呵呵!!可以了,原来id要从这里提交上去。可我就不知道为什么之前的$id就不能用了呢!我想了想是不是程序执行的问题,当表单提交后,又从开头执行了php语句,才导致之前的$_GET[id]的值为空啊??

呵呵,第一次感觉论坛的强大,以前从没发过贴。出了问题搜到的就好,没搜到就算了。死扛。还没5分钟就回复了,感谢了。感谢所有回复的朋友!!!
回复
Dleno 2010-07-26
<form name="update" method="post" action="update.php?id=<?php echo $id; ?>">
昵称:<input type="text" name="user" value="<?php echo $user;?>"/><br>
留言:<textarea name="content" cols="60" rows="9" ><?php echo $content;?></textarea><br/>
<input type="submit" name="submit" value="修改留言" />
</form>
回复
amani11 2010-07-26
$id=$_GET[id];

后面

echo $id;exit;//先看看结果。其实看浏览器链接即可,确认id没问题先
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告