method=POST mit aller Macht

Mike Rofon

Erfahrenes Mitglied
Im Prinzip ist es eine Umfrage.... also pro Antwort ein
Code:
<input type=radio name=voting value=$bid->voteid >
und am Ende ein Submit-Button.
Technisch OK, aber potthäßlich. Meine Meinung.

Schöner wäre pro Zeile ein Button namens "VOTE"
Code:
<INPUT TYPE='button' VALUE='VOTEN' ONCLICK=\"self.location.href='?voting=$bid->voteid&setvote=vote'\">
schon besser... ABER dieser Code überträgt die Daten ja mit GET und nicht wie im <form> angegeben mit POST.
Jetzt hab ich mir SelfHTML geschnappt und alles gelesen, was zum Thema <input type"button" ....> drin stand... aber was brauchbares war nicht dabei,

Kennt jemand einen Trick, wie man mit einem Button wie im 2. Codeschnipsel Daten per POST übertragen kann? Ich möchte ?voting=$bid->voteid&setvote=vote' nicht in der URL haben.
 
HTML:
ONCLICK=\"self.location.href='?voting=$bid->voteid&setvote=vote'\"

Wenn du das drin hast, wird das Formular ja auch gar nicht abgesendet, sondern nur die JavaScript Funktion. Und die leitet dich nun mal auf die angegebene Seite weiter...

HTML:
<input type="button" value="VOTEN" onclick="this.form.submit();" />

Versuch es einmal so...

Allerdings solltest du dann noch im value="" deine Variable einfügen.
 
Mit einem einzigen Button wird das eher nichts.
Du müsstest pro Button ein eigenes Formular haben und die zu übermittelnden Werte in versteckten Inputs ablegen.

Per Javascript könnte man das ganze zwar mit einem einzigen Formular hinbekommen, das würde aber User ohne JS ausschliessen:
Code:
<form method="post">
<input type="hidden" name="voting">
<input type="hidden" name="setvote" value="vote">

<-- diverse Buttons -->
<INPUT TYPE="submit" VALUE="VOTEN" ONCLICK="this.form.voting.value="<?php echo $bid;?>">
<-- diverse Buttons -->

</form>
 
Zuletzt bearbeitet:
@Felix
also
<input type="button" value="VOTEN" onclick="this.form.submit();" />
is nich das richtige, weil dann die Buttons einfach nur 1 2 3 4 5 usw. heißen wenn ich das so mach wie du sagst, und $_POST['voting'] bekommt nirgendwo einen Wert zugewiesen.

@rotzlöffeli
Wo steht denn geschrieben, daß ein Formular nur einen Submit-Button haben darf? *g*
Ja gut, Leute die Javascript komplett abgeschaltet haben, die können halt auf dieser Seite nicht voten....
Deine Idee find ich vielversprechend, aber leider läufts noch nicht...
Der Button sieht so aus:
Code:
...
<INPUT name=votenr TYPE=submit value="VOTEN" ONCLICK="this.form.voting.value=7;" >
...
<INPUT name=votenr TYPE=submit value="VOTEN" ONCLICK="this.form.voting.value=8;" >
...

Leider wird folgendes IF nicht "WAHR"
Code:
if (isset($_POST['voting']) & ($_POST['voting'] != ""))  {
 
Hallo Mike,

in deinem Vergleich ersetze mal "&" durch "&&". Du verwendet das bitweise AND und nicht das logische AND. Das muss nicht das gleiche Ergebnis zur Folge haben.

Markus
 
Was genau spricht denn nun gegen den Vorschlag von rotzlöffeli?

für jedes zu votende Teil
Code:
<form method="post"><input type="hidden" name="voting" value="7"><input type="submit" value="VOTEN"></form>
...und alles ist in Butter.

Wozu etwas mit JS machen und Leute ausschliessen, wenn es auch ohne JS geht :suspekt:
 
Wozu etwas mit JS machen und Leute ausschliessen, wenn es auch ohne JS geht
Hmmm... weil ich bei 25 Vote-Buttons ganz schön den Code aufpumpe ... dacht ich mir so..... und die Idee mit der Hidden-Variable plus Button = Formular und das x25 hatte ich nicht.

ich überleg mir das noch mal
 

Neue Beiträge

Zurück