刚学php ,写一个很简单的留言本,但是在写修改功能时遇到了麻烦,无法解决,请教各位达人
总是无法修改留言内容,修改功能共三个文件,问题应该出在 修改留言页 无法把id值 传给修改提要页 ,请帮忙modfiy.php
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpw = '';
$dbname = 'guest_book';       $link=mysql_connect("$dbhost","$dbuser","$dbpw");
mysql_select_db($dbname);$sql="select * from guestbook0";                //设置查询语句
$result=mysql_query($sql);                      //发送一条select查询,并返回查询结果while($rs=mysql_fetch_object($result))         
{
echo"<table><tr><td><a href=modify1.php?id=".$rs->id.">修改</a></td></tr>";
echo"<tr><td>ID:".$rs->id."</td></tr>";
echo"<tr><td>标题:".$rs->title."</td></tr>";
echo"<tr><td>作者:".$rs->author."</td></tr>";
echo"<tr><td>内容:".$rs->content."</td></tr></table><br/>";
echo"------------------------------------------<br/>";
}
mysql_close();
?>
修改留言页(modify1.php)<?php
$usr_id=$_GET['id'];$dbhost = 'localhost';
$dbuser = 'root';
$dbpw = '';
$dbname = 'guest_book';       $link=mysql_connect("$dbhost","$dbuser","$dbpw");
mysql_select_db($dbname);$sql="select * from guestbook0 where id =".$usr_id;                $result=mysql_query($sql);                      $rs=mysql_fetch_object($result);$usr_title=$rs->title;
$usr_author=$rs->author;
$usr_content=$rs->content;?><form name=name1 method="post" action="modify2.php?>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>ID</td>
<td><?=$usr_id?><input name="id" type="hidden" id="id" value="$usr_id?"></td>
</tr>
<tr>
<td>标题</td>
<td><input name="title" type="text" id="title" size="50" value="<?=$usr_title?>"></td>
</tr>
<tr>
<td>作者</td>
<td><input name="author" type="text" id="author" size="20" value="<?=$usr_author?>"></td>
</tr>
<tr>
<td>内容</td>
<td><textarea name="content" cols="50" rows="10" id="content"><?=$usr_content?></textarea></td>
</tr>
</table>
<p align="center">
<input type="submit" value="提交修改">
<input type="reset" value="取消">
</p>
修改提交页(modify2.php)<?php
$usr_id=$_GET['id'];
echo $usr_id;exit;
$user_content=$_POST['content']; $dbhost = 'localhost';
$dbuser = 'root';
$dbpw = '';
$dbname = 'guest_book';       $link=mysql_connect("$dbhost","$dbuser","$dbpw");
mysql_select_db($dbname);
$sql="update guestbook0 set content='".$user_content."'where id=".$user_id;$result=mysql_query($sql);mysql_close();header("location:modify.php");
?>

解决方案 »

  1.   

    修改提交页(modify2.php) 
    $usr_id=$_GET[ 'id '];
    你得在 修改留言页(modify1.php) 里的form是post方法,用GET[]当然取不到了。改成$_POST['id']
      

  2.   

    改成$_POST[ 'id '] 后仍然不行,按照以下代码重新运行,最终显示的链接如下:"http://localhost/modify2.php?id= " 页面显示:"$usr_id?"
    修改提交页(modify.php)
    <?php
    $usr_id=$_POST['id'];
    echo $usr_id;exit;    // 测试是否能得到id值
    $user_content=$_POST['content']; 
    echo $user_content;exit;
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpw = '';
    $dbname = 'guest_book';       $link=mysql_connect("$dbhost","$dbuser","$dbpw");
    mysql_select_db($dbname);$sql="update guestbook0 set content='".$user_content."'where id=".$user_id;
    $result=mysql_query($sql);mysql_close();header("location:modify.php");
    ?>
      

  3.   

    <form name=name1 method="post" action="modify2.php? > 
    =================================================================================
    这里把问号去掉修改提交页把把get改成post程序上没太大问题...,不过有一点得问楼主,post方式提交是看不到传递的参数的==================================================================================================================
    最终显示的链接如下:"http://localhost/modify2.php?id= " 页面显示:"$usr_id?" 
    =================================================================================================================
    post方式提交应该看不到传递的参数,应该只显示http://localhost/modify2.php,不知道楼主如何看到以上连接的