函数定义是不是应该放在函数调用if($action=="kill") 
kill_user(); 前面啊?
另外就是上次说的那个,你的这个表单
<form action=\"$thisprog\" method=\"post\"> 
<input type=\"button\" value=\"返回上一页\" onclick =\"self.history.back();\"> <input type=\"submit\" value=\"确认并继续\"> 
<input type=\"hidden\" name=\"step\" value=\"2\"> 
</form>"; 
执行以后是调用本身对吧
但是这个时候你并没有传递变量username啊,对吧?
这就导致你的表单提交以后还是用自身来处理,但是却没有相映的变量传递过来,你只是传递了$step这个变量。
另外关于$step的问题,你的这句话<input type=\"hidden\" name=\"step\" value=\"2\"> 
$step应该是个字符串吧
但是下面判断的时候
if($step==2) 
成了数字,要不你改一下
<input type=\"hidden\" name=\"step\" value=\"ok\"> 和
if($step=="ok") 
浅妄薄见,望与斟酌

解决方案 »

  1.   

    1、if($action==kill)后面应加大括号{ }
    2、msgbox是vbscript中的用法,不能直接用于php程序中,应加print语句;
    3、将if($step==2)改成if($setp=='2');
    4、你页面中还用到了其它的函数,我不好给你修改,略微改了一下,你看看,个人愚见,仅供参考:
    <? 
    print <<<EOT 
    <input type="text" name="username" size="10" maxlength="16" > 
    <input type="submit" value="提交"> 
    <input type="radio" name="action" value="kill">删除 
    EOT; 
    exit; 
    if($action){ 
    kill_user();
    } function kill_user() 

    global $tab_top,$tab_bottom,$thisprog,$username; echo "<tr><td bgcolor=#FFFFFF colspan=2 align=center><b>删除一条纪录</b><br>"; 
    connect_db(); 
    $query ="select * from telephone where name='$username'"; 
    $result =mysql_query($query) or die(mysql_error()); 
    $num =mysql_num_rows($result); if($num ==0) 

    print ("<br>$tab_top<b>非法的用户名</b>$tab_bottom</td></tr></table></body>$tab_bottom"); 

    else 
    {
    ?>
    <form action="" method="post">
    <input type="button" value="返回上一页" onclick="window.history.back();">
    <input type="button" onclick="javascript:if(confirm('该记录一旦删除将无法恢复,你真的要删除吗?')){window.location='<?print $thisprog;?>'}"> 
    <input type="hidden" name="step" value="2">
    </form>
    <?
    if($step=='2') 

    connect_db(); 
    $query ="delete from telephone where name='$username'"; 
    mysql_query($query) or die (mysql_error()); 
    jump_page('telephone.php','删除成功','<br>状态:数据已经被删除成功<br><ul><li><a href="telephone.php">返回程序</a></li></ul>'); 



    ?>
      

  2.   

    function kill_user()
    {
     global $tab_top,$tab_bottom,$thisprog,$username,$step,$title,$action,$name;
     $title="确认";
     echo "<tr>
           <td bgcolor=#FFFFFF colspan=2 align=center>
           <b>删除一条纪录</b><br>";
    connect_db();
    $query ="select * from telephone where name='".$username."'";
    $result =mysql_query($query) or die(mysql_error());
    $num =mysql_num_rows($result);if($num ==0)
    {
    print ("<br>$tab_top<b>非法的用户名</b>$tab_bottom</td></tr></table></body>$tab_bottom");
    }
    else
    {
    if($action==$action && $username==$username && $step==2) //执行条件的判断应该这样
    {
    connect_db();
    $query ="delete from telephone where name='".$username."'";
    mysql_query($query) or die (mysql_error());
    jump_page('telephone.php','删除成功','<br>状态:数据已经被删除成功<br><ul><li><a href="telephone.php">返回程序</a></li></ul>');
    }$content="程序需要您确认这次操作:<br><br>真的要继续吗?<br>";$content.="
    <form action='$thisprog' method='post'>
    <input type=button value='返回上一页' onclick ='self.history.back();'><input type=submit  value='确认并继续'>
    <input type=hidden name=action value='$action'> //以前没判断这个动作
    <input type=hidden name=username value='$username'> //以前没有传递该变量
    <input type=hidden name=step value='2'>
    </form>";
    msg_box($title,$content);
    }
    }