Mysql
 sql >> Datenbank >  >> RDS >> Mysql

In $_POST kann kein Eingabetyp =Bildwert gefunden werden

Verwenden Sie einfach var_dump() um zu sehen, was in $_POST steht :

var_dump($_POST);

Und das sehen Sie, wenn Ihr Formular mit <input type="image"> gesendet wird , erhalten Sie :

array
  'buyuka_x' => string '0' (length=1)
  'buyuka_y' => string '0' (length=1)


Also gibt es kein $_POST['buyuka'] -- stattdessen gibt es :

  • $_POST['buyuka_x']
  • und $_POST['buyuka_y']

Das bedeutet, dass Ihr Code so aussehen sollte (testet nicht auf das nicht vorhandene buyuka Eintrag und Prüfung auf die beiden _x und _y -- Ich nehme an, dass das Testen auf eines davon ausreichen sollte) :

if(isset($_POST['buyuka_x'], $_POST['buyuka_y']))
{
    $sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}


Nach den Kommentaren bearbeiten : Ich habe keine Ahnung warum es geht so -- aber mit einem .x und ein .y ist im HTML-Standard definiert.

Wenn Sie sich Formulare in HTML-Dokumenten ansehen , und scrollen Sie ein wenig nach unten, dann können Sie Folgendes lesen:

In PHP werden die Punkte in Parameternamen automatisch durch und unterstrichen ersetzt.
So :

  • name.x wird zu name_x
  • und name.y wird zu name_y

Als Quelle für diese letzte Aussage können Sie Variablen lesen Aus externen Quellen - HTML-Formulare (GET und POST) (Zitat) :