日期:2011-01-04  浏览次数:20449 次


大家都熟悉HTML标记里的MAP标记吧~,他可以将一个图片进行多个热链接定位,也就是说一个图片可以链接到N个文件~

我现在所说的是,这一个图片他所链接只有一个文件~

呵呵,别抛砖头~,你恐怕说直接用一个<a>标记不就可以链接了吗?
等等,
你稍微等一下嘛~,让我继续说下去~

我需要在下一个页面进行操作,也就是说一个图片在不传递参数的情况下,要让下一个页面要有不同的反映动作,怎么说呢?
比如说

A、通过点击图片左上我要进如pagea.php 右上我要进pageb.php
如此,你也许要说用MAP直接链接就行了,但我要在这个页面对上一页面进行统计,
怎么办呢?`


别急~

HTML标记
<input TYPE="image" NAME="thisname" SRC="path/image">

PHP对此标记支持的自动生成两个变量
$_POST[thisname_x] --鼠标点击图片的X位置
$_POST[thisname_y] --鼠标点击图片的Y位置

呵呵,看到这里晓得了如何操作了吧~,下面我给个简单的示例(直接拷贝过去就可以了,如果改的话把图片改为你的正确的图片路径就可以了~)~


演示:
======


index.html
----------
<html>
<head>
<title>测试信息</title>
</head>
<body>
<form action="post.php" method="post" name="form1">
<input type="hidden" name="image" value="bg.jpg">
<input type=image src="bg.jpg" name="sub">
</form>
</body>
</html>



post.php
<html>
<head>
<title>操作...</title>
</head>
<body>
<pre>
<?php
$c=getimagesize("$_POST[image]");    //获得图片尺寸

if($_POST[sub_x]<$c[0]/2){        //鼠标点击图片X位置为图片左半部

    if($_POST[sub_y]<$c[1]/2){    //鼠标点击图片的Y位置为上半部
        echo "你点击了图片的左上半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
    }else{
        echo "你点击了图片的左下半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
    }
}else{
    if($_POST[sub_y]<$c[1]/2){    //鼠标点击图片的Y位置为下半部
        echo "你点击了图片的右上半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
    }else{
        echo "你点击了图片的右下半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
    }
}
?>
</pre>
<!--
图片走向
        
          0 |
          --+----------------------------------------------------→x++(图片的宽度)
            |
            |
            |
            |
            |
            |
            |
            |
           ↓(Y++图片的高度)
-->
</body>
</html>


以上是个人对这个image提交变量的简单应用,如果你有巧妙的创意~

肯定可以做出一个图形作为引导的站点~