本帖最后由 gaorixin 于 2011-07-22 13:44:46 编辑

解决方案 »

  1.   

    改成 $_GET['id']后提示Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING 
      

  2.   

    $id = $_GET['id'];
    $sql="DELETE FROM $table WHERE id=$id";或者
    $sql="DELETE FROM $table WHERE id=$_GET[id]";
      

  3.   


    非常感谢,已经有进展了,新的问题是 总是提示删除失败,而且从后台的数据库来看,删除失败后会建立一个新的空的记录  没判断出是什么原因 更改后的代码为:
    <?php
    $user='root';
    $password='';
    $db='guestbook';
    $table='gbook';
    $id = $_GET['id'];
    $connect=mysql_connect('localhost',$user,$password);
    mysql_select_db($db);
    $sql="DELETE FROM $table WHERE id=$id";
    $result=mysql_query($sql);
    if ($result)
    echo "删除成功";
    else
    echo "删除失败";
    ?>
    <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    </head><body><p><a href="receive.php"><返回首页></a></p></body></html>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    附一个receive.php的代码<?php
    $user='root';
    $password='';
    $db='guestbook';
    $table='gbook';
    $ip=$_SERVER['REMOTE_ADDR'];
    $T1=$_POST['T1'];
    $S1=$_POST['S1'];
    $T2=$_POST['T2'];
    $R1=$_POST['R1'];
    $connect=mysql_connect('localhost',$user,$password);
    mysql_select_db($db);
    $sql = "INSERT INTO `guestbook`.`gbook` (`id`, `name`, `sex`, `email`, `info`, `ip`, `time_at`) VALUES (NULL, '$T1', '$R1', '$T2', '$S1', '$ip', NOW());";
    mysql_query($sql);
    $result=mysql_query("select * from $table");
    while ($arr=mysql_fetch_array($result))

       if ($arr[2]==0)
       $gender='先生';
       else
       $gender='女士';
      
    ?>
       <html>   <head>
       <meta http-equiv="Content-Language" content="zh-cn">
       <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
       <title>Receive</title>
       </head>   <body style="background-attachment: fixed">   <table border="1" width="100%" id="table1" bgcolor="#FFFFFF">
        <tr>
         <td bordercolor="#FFFFFF" bgcolor="#C0C0C0"><?php echo $arr[6]?>(<?php echo $arr[5]?>)<p><?php echo $arr[1]?> <?php echo $gender?><<a href="<?php echo $arr[3]?>"><?php echo $arr[3]?></a>> 
         写到:</td>
        </tr>
        <tr>
         <td><?php echo $arr[4]?><p> </p>
       <p><a href="del.php?id=<?=$arr[0]?>">[删除]</a>        
       <a href="modify.php?id=<?=$arr[0]?>">[修改]</a>]</td>
        </tr>
       </table>   </body>   </html>
    <?php
       echo '<p>';
       echo '<p>';
    }
    ?>
    <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    </head><body><p><a href="input.htm"><继续留言></a></p></body></html>
      

  4.   


    刚刚在5楼提到的 自动建立新纪录的问题已经解决了。只剩下一个问题,您说的这个$_GET['id']是接受表单中提交的id吗;触发del.php的语句是<p><a href="del.php?id=<?PHP $arr[0]?>">[删除]</a>  这个$_GET 可以直接接受到之前的id=<?PHP $arr[0]?>吗?
      

  5.   

    它就是接收在url传过去的id的。在这句$id = $_GET['id'];下面echo $id;看有值么?要点删除测试啊
      

  6.   


    说到问题上了 点了 出现 Notice: Undefined index: id  这是传值没成功吗?应该怎么传值呢?
      

  7.   


    问题还是归结到<a href="del.php?id=<?=$arr[0]?>">[删除]</a>  如何和$_GET搭配使用的问题
      

  8.   

    <a href="del.php?id=<?php echo $arr[0];?>">[删除]</a> 这样试试。
      

  9.   

    这是直接链接到del.php页面。你有这个页面吗?还有删除代码是不是写在其中?
      

  10.   

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    intput.htm
    ~~~~~~~~~~~
    <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>input</title>
    </head><body><form method="POST" action="receive.php"><p>您的姓名: <input type="text" name="T1" size="20"></p>
    <p>您的性别:男<input type="radio" value="0" name="R1">    
    女<input type="radio" name="R1" value="1"></p>
    <p>您的EMAIL:<input type="text" name="T2" size="35"></p>
    <p>您的留言内容:</p>
    <p> <textarea rows="16" name="S1" cols="45"></textarea></p>
    <p> </p>
    <p>    <input type="submit" value="提交" name="B1">     
    <input type="reset" value="重置" name="B2"></p>              
    </form></body></html>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    receive.php
    ~~~~~~~~~~~
    <?php
    $user='root';
    $password='';
    $db='guestbook';
    $table='gbook';
    $ip=$_SERVER['REMOTE_ADDR'];
    $T1=$_POST['T1'];
    $S1=$_POST['S1'];
    $T2=$_POST['T2'];
    $R1=$_POST['R1'];
    $connect=mysql_connect('localhost',$user,$password);
    mysql_select_db($db);
    $sql = "INSERT INTO `guestbook`.`gbook` (`id`, `name`, `sex`, `email`, `info`, `ip`, `time_at`) VALUES (NULL, '$T1', '$R1', '$T2', '$S1', '$ip', NOW());";
    mysql_query($sql);
    $result=mysql_query("select * from $table");
    while ($arr=mysql_fetch_array($result))

       if ($arr[2]==0)
       $gender='先生';
       else
       $gender='女士';
      
    ?>
       <html>   <head>
       <meta http-equiv="Content-Language" content="zh-cn">
       <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
       <title>Receive</title>
       </head>   <body style="background-attachment: fixed">   <table border="1" width="100%" id="table1" bgcolor="#FFFFFF">
        <tr>
         <td bordercolor="#FFFFFF" bgcolor="#C0C0C0"><?php echo $arr[6]?>(<?php echo $arr[5]?>)<p><?php echo $arr[1]?> <?php echo $gender?><<a href="<?php echo $arr[3]?>"><?php echo $arr[3]?></a>> 
         写到:</td>
        </tr>
        <tr>
         <td><?php echo $arr[4]?><p> </p>
       <p><a href="del.php? $id=<?php $arr[0]?>">[删除]</a>        
       <a href="modify.php?id=<?php $arr[0]?>">[修改]</a>]</td>
        </tr>
       </table>   </body>   </html>
    <?php
       echo '<p>';
       echo '<p>';
    }
    ?>
    <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    </head><body><p><a href="input.htm"><继续留言></a></p></body></html>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    del.php
    ~~~~~~~~~~
    <?php
    $user='root';
    $password='';
    $db='guestbook';
    $table='gbook';
    $id = $_GET['id'];
    echo $id;
    $connect=mysql_connect('localhost',$user,$password);
    mysql_select_db($db);
    $sql="DELETE FROM $table WHERE id=$id";
    $result=mysql_query($sql);
    if ($result)
    echo "删除成功";
    else
    echo "删除失败";
    ?>
    <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    </head><body><p><a href="input.htm"><返回首页></a></p></body></html>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    代码如上 是直接连接到del.php的,删除代码在del.php里。这是从百度上搜来的留言板,想自己改着玩,没想到全是错,都崩溃了。
      

  11.   

    del.php
    ~~~~~~~~~~
    <?php
    $user='root';
    $password='';
    $db='guestbook';
    $table='gbook';
    $id = $_GET['id'];
    echo $id;
    exit(); 在这个地方加上这句 看看有没有输出id的值还有 你点删除按钮 注意的浏览器下面的状态栏 id 有没有跟着?
      

  12.   


    问题依旧存在啊 Undefined index: id 状态写的是..........$id=-  貌似好像木有$id跟着
      

  13.   

    不要去管它那个提示
      <td><?php echo $arr[4]?><p> </p>
      <p><a href="del.php? $id=<?php $arr[0]?>">[删除]</a>  ====>
     <p><a href="del.php?id=<?php echo $arr[0]?>">[删除]</a>  
     
      

  14.   

    帮忙看看呗,这,,刚学php,需要信心啊。
      

  15.   

    <a href="del.php?id=<?php echo $arr[0];?>">[删除]</a> //id前没有$符号。仔细检查有没有写错。
      

  16.   


    还是不行,10楼之前提过这种方法,没效果,仍然无法显示删除成功,问题归结在del.php 中的$id 得不到上一页中传来的$id 值。
      

  17.   

    你看修改行吗?<a href="modify.php?id=<?php echo $arr[0]?>">[修改]</a>]少了echo 在modify.php里面echo $_GET['id']看有值吗。
      

  18.   

    感谢!终于又进展了。可以正确显示删除成功了。但是还有点问题,我晚一点再发上来!!感谢jordan102!!
      

  19.   

    又出现一个新问题,在修改页面中又遇到id传值的问题如下
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    modify.php
    ~~~~~~~~~~~~
    $password='';
    $db='guestbook';
    $table='gbook';
    $ip=$_SERVER['REMOTE_ADDR'];
    $id = $_GET['id'];
    echo $id;
    $connect=mysql_connect('localhost',$user,$password);
    mysql_select_db($db);
    $result=mysql_query("select * from $table where id=$id");
    $arr=mysql_fetch_array($result);
    ?>
      <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>input</title>
    </head><body><form method="POST" action="modify_ok.php?id=<?php echo $id?>"><p>您的姓名: <input type="text" name="T1" size="20" value="<?php echo $arr[1]?>"></p>
    <p>您的性别:
    <?php
    if ($arr[2]==0) echo '男<input type="radio" value="0" name="R1" checked>         
    女<input type="radio" name="R1" value="1"></p>';
    else echo '男<input type="radio" value="0" name="R1">         
    女<input type="radio" name="R1" value="1" checked></p>';
    ?>
    <p>您的EMAIL:<input type="text" name="T2" size="35" value="<?php echo $arr[3]?>"></p>
    <p>您的留言内容:</p>
    <p> <textarea rows="16" name="S1" cols="45" ><?php echo $arr[4]?></textarea></p>
    <p> </p>
    <p>    <input type="submit" value="修改" name="B1">     
    <input type="reset" value="重置" name="B2"></p>
    </form></body></html>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    modify_ok.php
    ~~~~~~~~~~~~~~
    <?php
    $user='root';
    $password='';
    $db='guestbook';
    $table='gbook';
    $T1=$_POST['T1'];
    $S1=$_POST['S1'];
    $T2=$_POST['T2'];
    $R1=$_POST['R1'];
    $id = $_GET['id'];
    echo $id;

    $connect=mysql_connect('localhost',$user,$password);
    mysql_select_db($db);;
    $sql = "UPDATE `guestbook`.`gbook` SET `name` = '$T1', `sex` = '$R1', `email` = '$T2', `info` = '$S1' WHERE `gbook`.`id` = '$id' LIMIT 1;";
    $result=mysql_query($sql);
    if ($result)
    echo "修改成功";
    else
    echo "修改失败";?>
    <html><head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    </head><body><p><a href="input.htm"><继续留言></a></p></body></html>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    程序可以运行,没报错,点击显示修改成功,可是我去数据库看数据的时候发现数据没变,坑爹啊。
    后来发现,单击修改的时候,第二段代码里的echo $id;居然没显示,所以确定这个传值还是有问题。
    明白的人指点一下,这个是POST 传隐藏的id值。