热搜:NVER node 开发 php

:PHP代码排错

2024-08-17 21:25:02
:PHP代码排错

为什么PHP代码(数据库+外链)不能下载?


源代码 dl_func.php
-------------------------------------------------------

function dl_dbconnect(){

              $dl_in=0;

              //打开 MySQL 服务器连接
              $dl_in=mysql_connect("localhost:3306","a1006191543","密码没错");

              //选择一个数据库
              mysql_select_db("a1006191543",$dl_in);
              return $dl_in;
       }
?>
-------------------------------------------------------


源代码 filedown.php 
-------------------------------------------------------

       require_once("dl_func.php");
       $dl_in=dl_dbconnect();

       $strQuery="select url from dl_file where id='$id'";     //定义查询规则
       $dl_res=mysql_query($strQuery,$dl_in);    //返回id送到$dl_res
       $arrfile=mysql_fetch_array($dl_res);      //根据id返回数组到$arrfile


              $arr_temp=split("/",$arrfile[url]);          //将字符串依指定的规则分开
              $filename=$arr_temp[sizeof($arr_temp)-1];    //sizeof: 获知数组的大小

              $strQuery="update dl_file set count=count+1 where id='$id'";
              mysql_query($strQuery,$dl_in);

              header("Content-type: application/file");
              header("Content-Disposition: attachment; filename=$filename");
              header("location:$arrfile[url]");

       mysql_close($dl_in);
?>
-------------------------------------------------------



数据库表"dl_file"结构:

CREATE TABLE dl_file (
   id varchar(6),
   name varchar(50),
   url varchar(200),
   count bigint(10)
);



id    name      url                               count
-------------------------------------------------------
A001  StellaX   http://www.last.com/stella.RAR      0 
A002  Z26       http://www.mey.com/Z26.ZIP          0 
A003  飞机空战  http://www.piogame.com/River.bin    0 
B012  滑板      http://www.computer.com/Skate.bin   0 
B013  蓝精灵    http://www.computer.com/Catle.bin   0 
D064  史努比    http://www.AKuter.com/Snoopy.bin    0 



早先在购买的空间里,运行正常。

为何在现在的空间里,也是这2个程序(换了数据库用户名、密码),报错?

调用形式:http://www.******.com/filedown.php?id=A001

IE报错信息:
“此错误(HTTP 403 禁止)意味着 Internet Explorer 可以连接到该网站,但是没有查看该网页的权限。”



回复讨论(解决方案)

先把header注释掉。echo url看看是否正确

已找到故障点:  filedown.php 
        $strQuery="select url from dl_file where id= '$id'";     //定义查询规则
改为固定参数后:
        $strQuery="select url from dl_file where id= 'A001'";     //定义查询规则
外链正常

但是,如何改正带参运行?带参调用形式如下:
http://www.*****.com/down/filedown.php?id=A001

$id = isset($_GET['id']) ? $_GET['id'] : 'A001';
$strQuery="select url from dl_file where id='$id'"; 

$id如果为空,你没有加处理吧。

if(!$id){
    exit();
}