Heim >Backend-Entwicklung >PHP-Tutorial >:PHP代码排错

:PHP代码排错

WBOY
WBOYOriginal
2016-06-23 13:45:401193Durchsuche

为什么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();
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn