Just use var_dump()
to see what's in $_POST
:
var_dump($_POST);
And you'll see that, when your form is submitted using the <input type="image">
, you get :
array
'buyuka_x' => string '0' (length=1)
'buyuka_y' => string '0' (length=1)
So, there is no $_POST['buyuka']
-- instead, there are :
$_POST['buyuka_x']
- and
$_POST['buyuka_y']
Which means your code should look like this (not testing for the unexistant buyuka
entry, and testing for the two _x
and _y
-- I suppose that testing for one of those should be enough) :
if(isset($_POST['buyuka_x'], $_POST['buyuka_y']))
{
$sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}
Edit after the comments : I have no idea why it goes like that -- but having a .x
and a .y
is how it's defined in the HTML standard.
If you take a look at Forms in HTML documents, and scroll down a little, you'll be able to read :
When a pointing device is used to
click on the image, the form is
submitted and the click coordinates
passed to the server.
The x value
is measured in pixels from the left of
the image, and the y value in pixels
from the top of the image.
The
submitted data includes
name.x=x-value
and name.y=y-value
where "name" is the value of the name
attribute, and x-value and y-value are
the x and y coordinate values,
respectively.
In PHP, the dots in parameters names are automatically replaced by and unerscore.
So :
name.x
becomes name_x
- and
name.y
becomes name_y
As a source for that last statement, you can read Variables From External Sources - HTML Forms (GET and POST) (quoting) :
Dots and spaces in variable names are
converted to underscores.
For
example <input name="a.b" />
becomes
$_REQUEST["a_b"]
.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…