<?
         echo $pxid;
//exit;
include ("database.php");
    include ("config.php");
    $nConn=connect_database();

$SQL_string="SELECT * FROM Images WHERE PicNum=".$pxid;
//echo $SQL_string;
$res=Select_Data($nConn,$SQL_string);         Header("Content-type: image/gif");
         echo $res[0]['image'];
?>不好意思,忘了加问号了

解决方案 »

  1.   

    现在主要是参数pxid传不过去,list.php似乎并没有执行show.php是指在show.php上的$pxid无值吗?如果是这样,试试在show.php上用$_GET['pxid']代替$pxid。
      

  2.   

    是啊,不知道如何调试,我打开list.php的时候,不知道到底有没有调用
    show.php,而如果我直接在地址栏中这样写http://127.0.0.1/show.php?pxid=3
    也没用,pxid始终无值
      

  3.   

    是不是我的php设置有问题啊?我用的是4.2.3,听说以前好多默认打开的参数给关掉了我发现这样也不行,请问是哪个参数没开啊?<a href="aaa.php?yhbh=1">业户编号</a>-------aaa.php--------
    <?echo yhbh?>链接进去 也是空值,uGain的方法倒是可以取到,但是是为什么呢?
      

  4.   

    解决了, 是php4.ini 中register_globals 设置成 off的结果
    改成on就可以了,但是有安全问题。
    --------------------------------------------------------------------
    PHP 提供了大量的预定义变量。由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档。一些预定义变量在 PHP 以命令行形式运行时并不生效。有关这些变量的详细列表,请参阅“保留的预定义变量”一章。 
    警告 
    PHP 4.2.0 以及后续版本中, PHP 指令 register_globals 的默认值为 off. 这是 PHP 的一个主要变化。让 register_globals 的值为 off 将影响到预定义变量集在全局范围内的有效性。例如,为了得到 DOCUMENT_ROOT 的值,你将必须使用 $_SERVER['DOCUMENT_ROOT'] 代替 $DOCUMENT_ROOT,又如,使用 $_GET['id'] 来代替 $id 从 URL http://www.example.com/test.php?id=3 中获取 id 值,亦或使用 $_ENV['HOME'] 来代替 $HOME 获取环境变量 HOME 的值。 更多相关信息,请阅读配置项目 register_globals,有关安全性的一章 使用 Register Globals,以及 PHP 4.1.0 和 4.2.0 的发行通告. 请优先使用可用的 PHP 预定义变量,如 超级全局数组。 
     从 PHP 4.1.0 开始,PHP 提供了一套附加的预定数组,这些数组变量包含了来自 Web 服务器(如果可用),运行环境,和用户输入的数据。这些数组非常特别,它们在全局范围内自动生效,例如,在任何范围内自动生效。为此,它们常因是 "autoglobals" 或者 "superglobals" 而闻名。(PHP 中尚且没有一种可使用户自定义超级全局变量的机制)超级全局变量罗列于下文中;但是为了得到它们的内容和关于 PHP 预定义变量的进一步的讨论以及它们的本质,请参阅 预定义变量。而且,你也将注意到旧的地预定义数组($HTTP_*_VARS)仍旧存在。 如果某些 variables_order 中的变量没有设定,它们的对应的 PHP 预定义数组也是空的。 
    PHP 超全局变量$GLOBALS
    包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。 $_SERVER
    变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。 $_GET
    经由 HTTP GET 方法提交至脚本的变量。类似于旧数组 $HTTP_GET_VARS 数组(依然有效,但反对使用)。 $_POST
    经由 HTTP POST 方法提交至脚本的变量。类似于旧数组 $HTTP_POST_VARS 数组(依然有效,但反对使用)。 $_COOKIE
    经由 HTTP Cookies 方法提交至脚本的变量。类似于旧数组 $HTTP_COOKIE_VARS 数组(依然有效,但反对使用)。 $_FILES
    经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。 $_ENV
    执行环境提交至脚本的变量。类似于旧数组 $HTTP_ENV_VARS 数组(依然有效,但反对使用)。 $_REQUEST
    经由任何用户输入机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否 以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。参照 import_request_variables()。 注: 当运行于 命令行 模式时,这个数组将 不会 包含 argv 和 argc 入口;它们已经存在于数组 $_SERVER 中。 $_SESSION
    当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组(依然有效,但反对使用)。详细信息,请参照 Session 处理函数 章节
      

  5.   

    我想参数已经传递过去了,只是你show.php有问题。
    $query = "SELECT * FROM image WHERE PicNum=".$pxid;
    $result = mssql_query($query);
    $row = mssql_fetch_array($result);
    $data = $row[do_file];
    header("Content-type:application/gif");
    echo $data;
    还有你确定图片是GIF格式吗?
    最好在IMAGE表中加一个TYPE字段,保存的时候图片类型一并保存进去。
    取出的时候再判断一下是何种类型,对应生成header("Content-type:application/$type");