Hacder's Lab
哥德疯了


php image post

July 24th, 2008 . by hacder

昨天发现的,当提交确认按钮是的时候,输出post的时候会出现2个变量

测试代码:

  1. <?php
  2. print_r($_POST);
  3. ?>
  4. <form method="post" action="">
  5. <input type="image" value="4" name="submit" src="login.gif" width="200" height="40" />
  6. <input name="submit" type="submit" id="submit" value="1" />
  7. </form>

点击图片 会提交到本页,然后会出现大概如下:

  1. Array ( [loginsubmit_x] => 56 [loginsubmit_y] => 21 )

找了下资料,发现这个居然就是鼠标点击的位置

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

 

这个是网上看到的一个例子,稍微改了下,可以比较清楚的看出这个东西的作用:

  1. <html>
  2. <head>
  3. <title>测试信息</title>
  4. </head>
  5. <body>
  6. <form action="" method="post" name="form1">
  7. <input type="hidden" name="image" value="bg.jpg">
  8. <input type=image src="bg.jpg" name="sub">
  9. </form>
  10.  
  11. <?php
  12. $c=getimagesize("$_POST[image]");    //获得图片尺寸
  13.  
  14. if($_POST[sub_x]<$c[0]/2){        //鼠标点击图片X位置为图片左半部
  15.  
  16.     if($_POST[sub_y]<$c[1]/2){    //鼠标点击图片的Y位置为上半部
  17.         echo "你点击了图片的左上半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
  18.     }else{
  19.         echo "你点击了图片的左下半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
  20.     }
  21. }else{
  22.     if($_POST[sub_y]<$c[1]/2){    //鼠标点击图片的Y位置为下半部
  23.         echo "你点击了图片的右上半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
  24.     }else{
  25.         echo "你点击了图片的右下半部分 x={$_POST[sub_x]} y={$_POST[sub_y]}";
  26.     }
  27. }
  28. ?>
  29. </body>
  30. </html>

原创文章如转载,请注明:转载自 Hacder's Lab [ http://www.hacder.com ]
本文链接地址:http://www.hacder.com/archives/531.html

Leave a Reply

You must be logged in to post a comment.