Gebruik gewoon var_dump()
om te zien wat er in $_POST . staat :
var_dump($_POST);
En dat zul je zien wanneer je formulier wordt verzonden met de <input type="image"> , je krijgt :
array
'buyuka_x' => string '0' (length=1)
'buyuka_y' => string '0' (length=1)
Dus er is geen $_POST['buyuka'] -- in plaats daarvan zijn er:
$_POST['buyuka_x']- en
$_POST['buyuka_y']
Wat betekent dat je code er zo uit moet zien (niet testen voor de niet-bestaande buyuka invoer en testen voor de twee _x en _y -- Ik veronderstel dat testen voor een van deze voldoende zou moeten zijn) :
if(isset($_POST['buyuka_x'], $_POST['buyuka_y']))
{
$sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}
Bewerken na de opmerkingen: Ik heb geen idee waarom het gaat zo -- maar met een .x en een .y is hoe het is gedefinieerd in de HTML-standaard.
Als je kijkt naar Formulieren in HTML-documenten , en een beetje naar beneden scrollen, kunt u lezen:
In PHP worden de punten in parameternamen automatisch vervangen door en unerscore.
Dus:
name.xwordtname_x- en
name.ywordtname_y
Als bron voor die laatste verklaring kun je Variabelen lezen Van externe bronnen - HTML-formulieren (GET en POST) (citaat) :