sql >> Database >  >> RDS >> Mysql

Kan geen invoertype =afbeeldingswaarde vinden in $_POST

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.x wordt name_x
  • en name.y wordt name_y

Als bron voor die laatste verklaring kun je Variabelen lezen Van externe bronnen - HTML-formulieren (GET en POST) (citaat) :



  1. Een transactieveilige SEQUENCE emuleren in MySQL

  2. Inleiding tot PostgreSQL

  3. Grondbeginselen van tabeluitdrukkingen, deel 1

  4. Psycopg2 houdt niet van tabelnamen die beginnen met een kleine letter