grafischer submit erkennen
Stuck
- php
Hi!
Ich habe in diesem Aritkel gelesen, wie man die üblichen Submit-Buttons als grafiken darstellen kann.
Funktioniert auch soweit
http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische
Allerdings, möchte ich in PHP nun abfragen, welcher Button gedrückt wurde, mit dem Standard-Button funktioniert das so:
if (isset($_POST['name']))
{
echo 'Der Button 'name' wurde betätigt.';
}
Wenn ich nun aber von dem Button den type von submit auf image ändere, wird der button schön angezeigt, aber diese abfrage funktioniert leider nicht mehr.
Kann mir da jemand helfen, wie ich das trotzdem abfragen kann?
mfg
Stuck
Hallo!
Wenn ich nun aber von dem Button den type von submit auf image ändere, wird der button schön angezeigt, aber diese abfrage funktioniert leider nicht mehr.
Weil der Input-Name als name_x und name_y üvergeben wird.
siehe: print_r($_POST);
André Laugks
Hello,
Wenn ich nun aber von dem Button den type von submit auf image ändere, wird der button schön angezeigt, aber diese abfrage funktioniert leider nicht mehr.
Weil der Input-Name als name_x und name_y üvergeben wird.
siehe: print_r($_POST);
Der Tipp mit print_r($_POST) ist gut.
Aber da war außerdem ein Fallstrick bei den Browsern versteckt.
Es gibt welche, die die Koordinaten bzw die Achsenangaben anders übertragen.
Leider habe ich das auch nicht auswendig drauf, um welche es sich da handelt.
Aber etwas Recherchieren im Archiv würde sich gewiss lohnen, da diese Browser sonst wieder von der Nutzung des Scriptes ausgeschlossen blieben.
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom
Hi,
Weil der Input-Name als name_x und name_y üvergeben wird.
Aber da war außerdem ein Fallstrick bei den Browsern versteckt.
Es gibt welche, die die Koordinaten bzw die Achsenangaben anders übertragen.
Keiner der mir bekannten Browser überträgt die Koordinaten als name_x und name_y.
Die machen das wie im HTML-Standard vorgesehen als name.x und name.y.
(Zitat: 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. http://www.w3.org/TR/html401/interact/forms.html#h-17.4.1)
Erst PHP macht daraus name_x und name_y.
Unterschiede bestehen darin, ob (falls value vorhanden ist) auch das name/value-Pärchen übertragen wird (Firefox macht's, IE nicht).
Bei Lynx bin ich mir nicht sicher, was der macht, müßte ich erst ausprobieren. Theoretisch müßte der das name/value-Pärchen übertragen, da ja kein "pointing device" benutzt wird.
cu,
Andreas
Hello,
Erst PHP macht daraus name_x und name_y.
Das ist mir klar. Aber, wenn kein name.x oder name.y ankommt, kann php das auch nicht umwandeln.
Unterschiede bestehen darin, ob (falls value vorhanden ist) auch das name/value-Pärchen übertragen wird (Firefox macht's, IE nicht).
Das mit dem IE ist mir allerdings neu. Bisher hatte ich da keine Schwierigkeiten.
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom
Hi,
Das ist mir klar. Aber, wenn kein name.x oder name.y ankommt, kann php das auch nicht umwandeln.
Welcher Browser liefert denn kein name.x und name.y?
Unterschiede bestehen darin, ob (falls value vorhanden ist) auch das name/value-Pärchen übertragen wird (Firefox macht's, IE nicht).
Das mit dem IE ist mir allerdings neu. Bisher hatte ich da keine Schwierigkeiten.
<form method="get" action="">
<input type="image" alt="bla" name="bla" value="bla" src="">
</form>
erzeugt bei Deinem IE also 3 get-Parameter?
bla.x, bla.y und bla?
Ich krieg das nur bei Geckos und bei Konqueror (letzterer unter Cygwin-KDE) hin, daß
?bla.x=17&bla.y=42&bla=bla
als Request-String auftaucht (17 und 42 stehen hier für die aktuellen Klick-Koordinaten)
Meine IE (5.0, 5.5, 6.0) liefern alle nur
?bla.x=17&bla.y=42
Auch Opera (7.53, 8.02) liefert nur
?bla.x=17&bla.y=42
Lynx (unter Cygwin) liefert (so wie W3M unter Windows) jeweils die 0 als Koordinaten.
?bla.x=0&bla.y=0
cu,
Andreas
Hello,
Ich krieg das nur bei Geckos und bei Konqueror (letzterer unter Cygwin-KDE) hin, daß
?bla.x=17&bla.y=42&bla=bla
als Request-String auftaucht (17 und 42 stehen hier für die aktuellen Klick-Koordinaten)Meine IE (5.0, 5.5, 6.0) liefern alle nur
?bla.x=17&bla.y=42Auch Opera (7.53, 8.02) liefert nur
?bla.x=17&bla.y=42Lynx (unter Cygwin) liefert (so wie W3M unter Windows) jeweils die 0 als Koordinaten.
?bla.x=0&bla.y=0
Ok, nun habe ich verstanden, wie Du das meintest.
Abr es gibt eine weitere Abweichung. Wir haben damals ca. 17 Browser getestet und diesen Fehler bei einigen (zwei oder drei) gehabt.
Ich kann sie leider im Moment nicht finden. Untersucht haben wir das ca. 2002 und es wird wohl versehentlich nur in irgendeiner Datensicherung noch dokumentiert sein, aber leider nicht in meiner Sammlung.
Wahrscheinlich hat sowieso die Zeit den Mantel des Schweigens darüber gedeckt...
Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de
Tom