PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Doofe Frage??


operator
29.09.2005, 13:48:41
Hallo,

ich seh gerade den Wald vor lauter Bäumen nicht und überlege gerade, wie ich denn eine Funktion in PHP aufrufe, indem ich auf einen Link klicke?!? Ich hoffe ich hab mich klar ausgedrückt...

Ich weiß, es ist vielleicht eine total dämliche Frage, aber ich hab momentan echt keinen Schimmer - kann mir da jemand helfen?

Domi
29.09.2005, 13:55:34
Mahlzeit,

du könntest ja einfach im link eine anweisung per GET mitgeben:

Link: example.com/index.php?funktion=test

Und dann fragst halt per switch-case anweisung ab, welche funktion bei welchem parameter, den du mit $_GET['funktion'] abfragst, ausgeführt wird.

Das wäre eine lösung, gibt noch mehr..

lg

Domi

Serp
29.09.2005, 18:17:06
Du schreibst in die Seite, die mit dem Link aufgerufen wird, die Funktion rein.

Matt
29.09.2005, 20:15:59
Serps antwort macht leider nicht viel sinn...

Wie bereits erwähnt musst du da eine art switch einbauen:

aufruf von http://mysite.com/call.php?func=makefire

dann hast du in call.php ungefähr das:



$cmd=@$_GET["func"];

switch($cmd)
{
case "makefire": makefire(); break;
case "makefood": makefood(); break;
default: die("keine solche Funktion");
}



was ganz wichtig ist ist, dass du nicht die funktion, die in der url angegeben wurde direkt aufrufst.
Das wäre dann beispielsweise durch call_user_func($cmd) bzw durch $cmd() möglich. Mach das nicht! Damit kann man fiesen code in dein Script einschleusen - oder zumindest code, der dort nicht hingehört.