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>

解决方案 »

  1.   

    $id=$_GET[id];后面echo $id;exit;//先看看结果。其实看浏览器链接即可,确认id没问题先
      

  2.   

    <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>
      

  3.   

    呵呵!!可以了,原来id要从这里提交上去。可我就不知道为什么之前的$id就不能用了呢!我想了想是不是程序执行的问题,当表单提交后,又从开头执行了php语句,才导致之前的$_GET[id]的值为空啊??呵呵,第一次感觉论坛的强大,以前从没发过贴。出了问题搜到的就好,没搜到就算了。死扛。还没5分钟就回复了,感谢了。感谢所有回复的朋友!!!
      

  4.   

    action="update.php"
    那提交的目的页面,就没有id的参数了。
    当然提交后就获取不到id的值了。
    你访问这个页面时,应该是update.php?id=123的形式吧?
    如果是这样,那你的from的action可以直接等空。
    即:
    <form name="update" method="post" action="">也是可以的