文本数据库数据删除问题求救

文本数据库数据删除问题求救

本人是个PHP菜鸟,才开始接触PHP,刚编写了个文本数据库的留言本,在编写到删除的脚本的时候发现这个脚本怎么都不按我预先想的方法工作,我的目的是想输入一个顺序号(id)删除一条留言,留言是按行写入文本数据库的,可是每次运行这个脚本来删除的时候它却把整个数据库清空了,让我很是郁闷···希望高手帮我看下,我头昏了···
我写的del.php如下:

[复制到剪切板]
CODE:
<form name="form" method="post" action="del.php">
  <
table width="280" border="0" align="center">
  <
tr>
  <
td>输入要删除的留言顺序号:</td>
  <
td>
  <
input name="id" type="text" id="id" size="3">
  </
td>
  <
td>
  <
input type="hidden" name="sent" value="sent">
  <
input type="submit" value="提交">
  </
td>
    </
tr>
  </
table>
  </
form>
<?
php
if(!file_exists("gb.dat"))
{echo 
"错误,数据库丢失!<br>";}
else 
{
$sent=$_POST['sent'];
if(
$sent=="sent")
    {
$id=$_POST['id'];
$id=$id-1;
$fp=fopen("gb.dat","w");
$array=file("gb.dat");
$num=count($array);
if(
$id>=0&&$id<($num-1))
{
$array[$id]="";
$id=$id+1;
echo 
"<center>第$id";
echo 
"条留言删除成功!<br>";
echo 
"<a href=index.php>返回首页</a><br>";
echo 
"<a href=del.php>继续删除</a></center>";
}
else
{echo 
"您输入的号码不符合要求!";}
    }
}
?> ;


[ 本帖最后由 zhouyao3381 于 2009-1-2 13:41 编辑 ]

附件

gb.rar (591 Bytes)

2009-1-2 13:41, 下载次数: 1

谁来帮忙看下,其实我刚开始这个脚本成功过一次,后来不小心修改了一点点东西,然后它怎么也不能按我的要求删除留言了,哪位帮我看一下,我看了好久都没看出到底怎么回事···

在 $fp=fopen("gb.dat","w"); 时已经清空了。每个函数你最好先弄懂它的意思和用法。

[复制到剪切板]
CODE:
<form name="form" method="post" action="del.php">
  <
table width="280" border="0" align="center">
  <
tr>
  <
td>输入要删除的留言顺序号:</td>
  <
td>
  <
input name="id" type="text" id="id" size="3">
  </
td>
  <
td>
  <
input type="hidden" name="sent" value="sent">
  <
input type="submit" value="提交">
  </
td>
    </
tr>
  </
table>
  </
form>
<?
php
if(isset($_POST['sent'])){
    if(!
file_exists("gb.dat"))
    {
        echo 
"错误,数据库丢失!<br>";
    }
    else
    {
        
$sent=$_POST['sent'];
        if(
$sent=="sent")
        {
            
$id=$_POST['id'];
            
$id=$id-1;
            
$array=file("gb.dat");
            
$num=count($array);
            if(
$id>=0&&$id<($num-1))
            {
                unset(
$array[$id]);
                
$fp=fopen("gb.dat","w");
                
fwrite($fpimplode(""$array));
                
fclose($fp);
                
                
$id=$id+1;
                echo 
"<center>第$id";
                echo 
"条留言删除成功!<br>";
                echo 
"<a href=index.php>返回首页</a><br>";
                echo 
"<a href=del.php>继续删除</a></center>";
            }
            else
            {
                echo 
"您输入的号码不符合要求!";
            }
        }
    }
}
?> ;


如履薄冰

额···原来是这样,看来我还是先把书好好看一下,弄清楚一些基础的东西再说,慢慢来。谢谢老大指点,让我一下明白了许多。

引用:
原帖由 zhouyao3381 于 2009-1-4 12:16 发表
额···原来是这样,看来我还是先把书好好看一下,弄清楚一些基础的东西再说,慢慢来。谢谢老大指点,让我一下明白了许多。
基础是最重要的。基础好了,以后要做什么都容易。
我刚学php恰恰就没有学好基础,后来发觉走了很多弯路。
如履薄冰

按照id删除的吗