Använd bara var_dump()
för att se vad som finns i $_POST :
var_dump($_POST);
Och du kommer att se det när ditt formulär skickas med <input type="image"> , du får :
array
'buyuka_x' => string '0' (length=1)
'buyuka_y' => string '0' (length=1)
Det finns alltså ingen $_POST['buyuka'] -- istället finns det :
$_POST['buyuka_x']- och
$_POST['buyuka_y']
Vilket betyder att din kod ska se ut så här (testar inte för den obefintliga buyuka ingång och testning för de två _x och _y -- Jag antar att det borde räcka att testa en av dessa) :
if(isset($_POST['buyuka_x'], $_POST['buyuka_y']))
{
$sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}
Redigera efter kommentarerna: Jag har ingen aning om varför det går sådär -- men med en .x och en .y är hur det definieras i HTML-standarden.
Om du tar en titt på Formulär i HTML-dokument , och scrolla ner lite, kommer du att kunna läsa :
I PHP ersätts prickarna i parametrarnas namn automatiskt med och unscore.
Så :
name.xblirname_x- och
name.yblirname_y
Som källa till det sista påståendet kan du läsa Variabler Från externa källor - HTML-formulär (GET och POST) (citat) :