• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP-Funktion bei Buttonklick ausführen?

sysops Beispiel ist im Grunde eine JavaScript-Funktion, die serverseitig dynamisch erstellt wird. Wenn die Seite beim Client ankommt, wurde der PHP-Code bereits ausgeführt und das Resultat ist eine ganz normale HTML-Seite mit normalen JS-Funktionen im Quellcode. ...

Genau so habe ich dir Frage verstanden. Ob man eine PHP-Funktion per button Klick ausführen kann. NICHT ob man sie Aufrufen/Definieren kann.
 
Werbung:
Genau so habe ich dir Frage verstanden. Ob man eine PHP-Funktion per button Klick ausführen kann. NICHT ob man sie Aufrufen/Definieren kann.
Was ist denn für dich der Unterschied zwischen ausführen und aufrufen? Wie auch immer es geht nicht!

Auch dein Beispiel führt keine PHP Funktion aus, sondern erzeugt einen request der ein PHP Skript ausführt. Das ist aber eine ganz normaler Vorgang im Netz und daher ist, wenn das die Antwort ist, die Frage noch unverständlicher.
 
PHP-Funktion bei Buttonklick ausführen?
Geht das auf irgendeine Weise

so war die frage.
Eine Funktion, die z.b. in einer functions.php abgelegt wurde kann über einen Klick nicht mal eben nachdefiniert werden.

Überhaupt habe ich den Eindruck, dass in diesem Thread mehr darüber gerätselt wird, was der Themenersteller eigentlich wollte als darüber, wie man eine klare Frage beantworten kann, jeder scheint die Frage anders verstanden zu haben.
 
Werbung:
ber gerätselt wird, was der Themenersteller eigentlich wollte als darüber, wie man eine klare Frage beantworten kann, jeder scheint die Frage anders verstanden zu haben.
Ich habe die Frage verstanden und beantwortet. Man kann keine PHP Funktion bei Buttonklick ausführen. Ich weiß auch nicht warum darüber so ausgiebig diskutiert werden kann.
 
Die Alternative dazu sind Ajax-Calls, die serverseitige Skripte auslösen und deren Rückgabe wieder an das in der Seite laufende JavaScript liefern. Die hat Mad Dog in #4 bereits erwähnt.

danke (ich lag somit nicht falsch :))

Ich weiß auch nicht warum darüber so ausgiebig diskutiert werden kann.

naja der steller der frage hat keine bedingungen gestellt. Er hat nicht gesagt, was verwendet werden soll/darf und was nicht!
direkt ohne umwege ueber JS oder AJAX kann eine PHP - Funktion ja nicht aufgerufen werden, wie du selbst gesagt hast (nehme mal an das meinst du).

Jedoch mittels AJAX scheint es ja doch moeglich zu sein.
Der Diskussionspunkt liegt meiner Meinung nach da, dass der Steller der Frage nicht an Bedingungen gedacht hat, wie z.b. welche Programmiersprache benuzt werden darf/soll.
 
Jedoch mittels AJAX scheint es ja doch moeglich zu sein.
Nein ist es nicht.

Wenn er gefragt hätte, "Hilfe, wie kann mit einem Formular ein PHP Skript aufrufen" Dann hätte man spekulieren können. Aber so wie die Frage gestellt ist, gibt es keine andere Möglichkeit als Nein. Warum wir jetzt darüber spekulieren was alles damit gemeint sein könnte weiß ich auch nicht, da Hansi nichts dazu gesagt hat. Aber selbst wenn, seine Erläuterungen helfen in der Regel auch nicht weiter.
 
Werbung:
hmm und was haelst du dann davon?
Code:
<input type="button" value="Datum"
 onClick="[COLOR=#0000FF]alert('[/COLOR][COLOR=#FF0000]<?php echo date("d.m.Y",time()); ?>[/COLOR][COLOR=#0000FF]')[/COLOR]">

ich sehe das so, dass beim klicken auf dem button, die PHP-funktion date() aufgerufen wird, das ganze verbunden mit alert erzeugt ein fenster mit dem datum.
 
Siehe #19.

Dein Beispiel wird beim Durchlauf von PHP bereits serverseitig zu:

Code:
<input type="button" value="Datum"
 onClick="alert('09.05.2010')">

Das ist die Ausgabe, die beim Client ankommt. Was deinen Browser angeht, könntest du '09.05.2010' auch direkt in das JavaScript "hardgecodet" haben. Das macht für ihn nicht den geringsten Unterschied.

In diesem Fall wird also gewissermaßen die PHP-Funktion bereits ausgeführt, bevor der Client auch nur ahnt, dass es überhaupt jemals einen Button geben wird.
 
Werbung:
ahhhh jetzt versteh ich es.
dann wuerde man mittels date() eine falsche zeit erhalten nehme ich mal an?
 
Nein, du rufst date() auf dem Server auf und bekommst dann diese Zeit angezeigt
 
jetzt bin ich gerae komplett verwirrt.
ich dachte, die date funktion wird beim durchlaufe auf 09.05.2010 "gesetzt", so wie mermshaus es geschrieben hat.

Dein Beispiel wird beim Durchlauf von PHP bereits serverseitig zu:

Code:
<input type="button" value="Datum"
onClick="alert('09.05.2010')">
Das ist die Ausgabe, die beim Client ankommt.

heisst das dann nicht, dass beim durchlauf vom skript date() einen wert liefert, der zum zeitpunkt des durchlaufs "aktuell" ist? (z.b. 100). wenn ich dann erst nach 10sekunden auf den knopf klicke, sagt mir dsa alert fenster auf 100, obwohl eigentlich schon 110 waere?
 
Werbung:
Ja, ich denke, du meinst das Richtige.

Also wie gesagt: PHP läuft serverseitig ab. Was beim Client ankommt, ist immer der fertige HTML/JS-Code und *niemals* noch auszuführender PHP-Code, sondern immer das bereits ausgeführte Ergebnis davon.
 
Sorry, da habe ich mich falsch ausgedrückt.
Die Frage ob man mittles date() eine falsche Zeit erhält, hat mich verwirrt, da date() natürlich das richtige ausgibt, aber zu einem anderen Zeitpunkt. Da hast du dann widerrum recht, die Ausgabe im JS Code ist dann falsch.
 
Werbung:
Das ist bei Hansi normal. Er stellt gerne Fragen, die sich nicht eindeutig beantworten lassen, weil zuviele Informationen fehlen und danach hält er sich dann aus dem Thread raus - vermutlich hat er Angst vor dem, was er da losgetreten hat ;)
 
Zurück
Oben