onclick Funktion PHP/HTML?

3 Antworten

Von Experte medmonk bestätigt

Da gibt es verschiedene Möglichkeiten. Der einfachste Weg ist eine HTML-Form zu verwenden, die hat entsprechend eine action, die eine PHP-Datei aufruft, die Daten bekommt und die Aktion ausführt.

Alternativ kann man natürlich mit JavaScript und Ajax arbeiten und sowas asynchron lösen. Aber erstmal sollte man eigentlich den normalen Ablauf mittels Formen verstehen, bevor man sich mit asynchronen Problemen beschäftigt, die deutlich komplexere Situationen erzeugen können.

OnClick im Sinne einer OnClick Funktion brauchst du innerhalb einer Form nicht dieses "Event" zum senden der Form ist das Standardverhalten von Buttons des Types submit oder entsprechenden Input-Feldern mit eben diesem Type.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012
Von Experte whgoffline bestätigt

PHP ist eine Sprache, welche bei dem Aufrufen einer Seite auf dem Server ausgeführt wird. Wenn du nicht mehr als PHP (und natürlich HTML) verwenden willst, dann kannst du einen Button, der tatsächlich etwas machen soll, als Link auf eine andere Seite realisieren. Beim Aufruf der anderen Seite kannst du im Quelltext dieser Seite wieder neue Funktionen und Anweisungen ausführen.

Falls du dabei Daten übertragen möchtest (und wieder nur HTML und PHP nutzen möchtest), ist ein Formular die gängigste Variante (<form ...> in HTML), dazu gibt es im Internet natürlich sehr viele Tutorials.

Woher ich das weiß:Berufserfahrung
medmonk  06.05.2021, 11:20
Einen Button kannst du nur als Link auf eine andere Seite realisieren.

Blödsinn! Sowohl mit einem Button- als auch Anker-Element können nicht nur Verlinkungen auf andere Seiten umgesetzt werden. Bei beiden handelt es sich um ein anklickbares Element, mit dem "Events" ausgelöst werden können.

Falls du dabei Daten übertragen möchtest, ist ein Formular notwendig

Diese Behauptung ist ebenfalls falsch. Es gibt dutzend Möglichkeiten mit denen man beliebige Daten auf einen Server und/oder in eine Datenbank übertragen kann. Die Implementierung eines Formulars wäre nur ein Weg von vielen.

0
D4V1D1998  06.05.2021, 11:25
@medmonk
Blödsinn! Sowohl mit einem Button- oder Anker-Element können nicht nur Verlinkungen auf andere Seiten umgesetzt werden. Bei beiden handelt es sich um ein anklickbares Element, mit dem "Events" ausgelöst werden können.

Blödsinn! Nur mit PHP kannst du keinen Button realisieren, der ohne Seitenwechsel eine Aktion ausführt. "Events" können durch andere Methoden wie z.B. über JavaScript genutzt werden und dann mit AJAX eine PHP-Aktion am Server ausführen.

Diese Behauptung ist ebenfalls falsch. Es gibt dutzend Möglichkeiten mit denen man beliebige Daten auf einen Server und/oder in eine Datenbank übertragen kann. Die Implementierung eines Formulars wäre nur ein Weg von vielen.

Diese Behauptung ist ebenfalls falsch. Natürlich gibt es viele Möglichkeiten, Daten zwischen Client und Server auszutauschen. Will man aber nur PHP nutzen (und HTML, weil das ja im Grundsatz sowieso notwendig ist), so ist die Methode mit dem Formular der einzige normale Weg.

Reg dich nicht so auf.

Ohne JavaScript oder andere Client-Technologien, die zusätzlich eingesetzt werden, können die von dir genannte Möglichkeiten nicht umgesetzt werden. Deswegen solltest du dich hier nicht so sehr aufspielen.

0
medmonk  06.05.2021, 11:56
@D4V1D1998
Nur mit PHP kannst du keinen Button realisieren, der ohne Seitenwechsel eine Aktion ausführt. "Events" können durch andere Methoden wie z.B. über JavaScript genutzt werden und dann mit AJAX eine PHP-Aktion am Server ausführen.

Ich habe an keiner Stelle behauptet, das man nur mit PHP einen Button erstellen kann. Es ging einzig und alleine um deine Aussage, Zitat:

Einen Button kannst du nur als Link auf eine andere Seite realisieren.

Genau diese Behauptung ist falsch und darauf bezog sich meine Kritik. Das Button-Element ist Teil von HTML5. Das einzige, was man nicht mit HTML realisieren kann, ist die dahintersteckende Logik. Einen Button erstellen, geht dennoch - selbst wenn die Logik dahinter am Ende fehlt.

Mit einem Button kann man also nicht nur einen Link auf eine andere Seite realisieren, sondern diesen ebenso zum Auslösen von Funktionen einsetzen. Zum Wie wurde überhaupt nichts gesagt.

Will man aber nur PHP nutzen (und HTML, weil das ja im Grundsatz sowieso notwendig ist), so ist die Methode mit dem Formular der einzige normale Weg.

Nein, PHP ist dafür schon lange nicht mehr notwendig. Dass ein Formular der einzig normale Weg sei, ist ebenso falsch. Das mag vor ~10 Jahren noch so ausgesehen haben. In Zeiten von serverseitigen JavaScript dank Node.js sowie Angular, React oder Vue kommt man sehr gut auch komplett ohne PHP aus.

Reg dich nicht so auf.
  1. Ich rege mich überhaupt nicht auf
  2. Hier lediglich deine falschen Behauptungen kritisiere
Ohne JavaScript oder andere Client-Technologien, die zusätzlich eingesetzt werden, können die von dir genannte Möglichkeiten nicht umgesetzt werden. Deswegen solltest du dich hier nicht so sehr aufspielen.

Ich habe im ersten Absatz nichts zur Logik hinter dem Button geschrieben. Aber ja, natürlich ist eine Programmiersprache wie JavaScript oder PHP notwendig, um irgendwelche Events auszuführen. Ich schrieb nicht lediglich das damit Events ausgelöst werden können, jedoch nicht zur Implementierung derselben.

0
D4V1D1998  06.05.2021, 12:04
@medmonk

Uff. Dann soll er doch einen Button bauen, der nix macht. Damit ist aber echt weitergeholfen. Statt dich in Diskussionen zu verstricken, kannst du ja eine Antwort abgeben, die deiner Meinung nach korrekter ist. Ich passe meine Antwort an.

0
BraucheHilfe755 
Fragesteller
 06.05.2021, 12:37
@D4V1D1998

Also nochmal kurz als Zusammenfassung: Den Button habe ich mit HTML erstellt welcher auf meiner Website ist. Das ganze lasse ich über XAMPP Apache-Server laufen. Gibt es nun eine Möglichkeit nur mit PHP über einen Klick auf den Button die manuell eingegebenen Daten in die Datenbank zu speichern?

Übrigens Danke für euere Antworten bis hierhin.

0

Php ist serverseitig. Onclick gibts bei Javascript. Mit php könntest du ein form Element mit einem submit button abschicken und so werte übertragen.

https://developer.mozilla.org/de/docs/Web/API/GlobalEventHandlers/onclick

Woher ich das weiß:Studium / Ausbildung – Informatikstudent
BraucheHilfe755 
Fragesteller
 06.05.2021, 12:40

Sprich ich müsste zusätzlich Javascript nutzen? Oder PHP ganz weglassen und nur Javascript und natürlich HTML programmieren?

0