Zum Inhalt springen

PHP Variable mit Formularbutton(html) übergeben


wildertroll

Empfohlene Beiträge

Hallo zusammen,

ich habe eine (wahrscheinlich leicht zu lösende) Problemstellung.

Ich habe eine Liste mit Datenbanktabellen-Einträgen, welche ich mir in php schön als Tabelle ausgegeben habe. Nun will ich in jeder Zeile am Ende einen klickbutton(mit einem roten X als Bild) einfügen. Wenn man da draufklickt soll der entsprechende Datensatz (Schlüssel ist der Primärschlüssel der Tabelle) gelöscht werden. Ich habe den Button als Formular/Submit (bzwpicture)Button erstellt.

Wie kann ich die PHP Variable (CID) bei einem klick übergeben? Mit der HTML Formularfunktion sende ich ja normalerweise Formularinhalte. ABer ich habe ja keine Formularinhalte. Ich nutze das Formular ja nur wegen dem Button. Kann mir jemand helfen?

Wahrscheinlich habe ich mich etwas umständlich ausgedrückt, aber ich hoffe dass man nachvollziehen kann was ich will*g*

Danke schonmal!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie wäre es wenn du in das Formular, in dem der Button schon ist, ein hidden-Textfeld mit einfügst?

Dadrin kannst du dann den Schlüssel für die entsprechenden Seiten speichern. Und wenn du dann das Formular durch den submit-Button absendest wird der Wert, welcher in dem hidden-Feld gespeichert wurde, wieder mit zurück gesendet.

Das könnte dann zb so aussehen:


<form>
[INDENT]<input type="hidden" value="[CID-Wert]" name="CID>

<input type="submit" value="Löschen">[/INDENT]


</form>

Bearbeitet von Dragon8
Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie wäre es wenn du in das Formular, in dem der Button schon ist, ein hidden-Textfeld mit einfügst?

Dadrin kannst du dann den Schlüssel für die entsprechenden Seiten speichern. Und wenn du dann das Formular durch den submit-Button absendest wird der Wert, welcher in dem hidden-Feld gespeichert wurde, wieder mit zurück gesendet.

Das könnte dann zb so aussehen:


<form>
[INDENT]<input type="hidden" value="[CID-Wert]" name="CID>

<input type="submit" value="Löschen">[/INDENT]


</form>

Ah ok. So kann man schummeln ;). Gute Idee!

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Dragon8

komische lösung, soll er wohl dann pro zeile jedesmal eine neu Form einfügen?

Könnte er, und wäre nichtmal falsch. Nur ob es schön ist ist ne andere Frage ;)

Mein Tip: Der Button ist ein Button, kein Submit, und führt ein Javascript aus, was einen hidden-Wert im Formular füllt und dann ein form.submit() ausführt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Dragon8

komische lösung, soll er wohl dann pro zeile jedesmal eine neu Form einfügen?

Also so, wie ich ihn verstanden habe, besteht diese Form pro Zeile schon, und dann würden "nur" die hidden-Felder noch hinzukommen.

JesterDays Lösung ginge natürlich auch, damit könnte man sich dann mit einem Form und einem Hidden-Feld auf der Seite begnügen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Warum nicht einfach einen Link nutzen und die Variable als GET Parameter übergeben?

Wenn mehrere Datensätze gleichzeitig gelöscht werden sollen:

- Ein Formular um die Tabelle mit sämtlichen Datensätzen bauen.

- Ein Löschen Button für alle einbauen.

- Mit jedem Datensatz eine Checkbox anzeigen.

- Name der Checkbox = "cid[]"

- Den Wert der CID kann man im Value-Attribut der Checkbox unterbringen.

... 

value="$CID" 

...
Das auswertende PHP-Skript kann dann mit einer foreach-Schleife alle Datensätze löschen die ausgewählt waren, als der Löschen-Button gedrückt worden ist.
foreach($_POST["cid"] as $cid){

mysql_query("DELETE .....");

}

Mann kann natürlich auch erst alle ids konkatenieren und dann eine DELETE Abfrage für alle machen. Außerdem braucht mann bei dieser Lösung kein JavaScript. Ob das Löschformular oder ein anderes abgeschickt worden ist, bekommt man ja durch den Lösch-Button ebenfalls leicht heraus.

Bearbeitet von smash
Link zu diesem Kommentar
Auf anderen Seiten teilen

So weit ich weiß, ist ja eigentlich der HTTP-POST-Request für die Übermittlung von Daten vorgesehen. Aber du hast warscheinlich Recht. Ich denke jedenfalls, dass technisch kein großer Unterschied bei der Datenübertragung gemacht wird. Ist ja bei HTTP alles bloß Klartext.

Mann muss natürlich wissen, dass die übermittelten Daten in der URL auftauchen.

Jedenfalls kann man sich das Formular sparen, vorausgesetzt man möchte immer nur einen Datensatz wählen und bearbeiten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

So weit ich weiß, ist ja eigentlich der HTTP-POST-Request für die Übermittlung von Daten vorgesehen.

POST ist für die Übermittlung großer Daten vorgesehen. Wie eine GET-URL aussieht weißt du ja. Jetzt nimm das was da hinter dem ? steht und sende das nicht in der URL (HTTP-Header) , sondern im HTTP-Body mit, dann hast du deinen POST ;) (Ein GET hat einfach einen leeren Body, wobei du auch einen POST mit GET-Parametern mischen kannst)

Die URL hat theoretisch keine Längenbegrenzung, praktisch hat sie aber eine, je nach Browser.

Ein Post ist also nichts anderes als das was du vom Webserver als Antwort bekommst, nur in die andere Richtung. Und der Body hat auch keine Größenbegrenzung, deswegen kannst du per POST große Daten (z.B. Bilderuploads) verschicken.

(Bei kleinen Bildern geht das theoretisch auch als GET, wenn die andere Seite das kapiert)

Ja, das mit der URL ist dabei nur der "optische Nachteil".

Bearbeitet von JesterDay
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...