Ich habe eine Seite namens functioncalling.php erstellt, die zwei Schaltflächen enthält: Senden und Einfügen . Als Anfänger in PHP möchte ich testen, welche Funktion ausgeführt wird, wenn auf eine Schaltfläche geklickt wird. Ich möchte, dass die Ausgabe auf derselben Seite erscheint. Also habe ich zwei Funktionen erstellt, eine für jede Schaltfläche. Der Quellcode für functioncalling.php lautet wie folgt:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<form action="functioncalling.php">
<input type="text" name="txt" />
<input type="submit" name="insert" value="insert" onclick="insert()" />
<input type="submit" name="select" value="select" onclick="select()" />
</form>
<?php
function select(){
echo "The select function is called.";
}
function insert(){
echo "The insert function is called.";
}
?>
Das Problem hierbei ist, dass ich nach dem Klicken auf eine der Schaltflächen keine Ausgabe erhalte.
Wo genau gehe ich falsch?
Antworten:
Ja, du brauchst Ajax hier. Weitere Informationen finden Sie im folgenden Code.
Ändern Sie Ihr Markup wie folgt
jQuery:
In ajax.php
quelle
Schaltflächenklicks sind clientseitig, während PHP serverseitig ausgeführt wird. Sie können dies jedoch mithilfe von Ajax erreichen :
In Ihrer PHP-Datei:
quelle
Sie sollten die Schaltfläche auf dieselbe Seite rufen lassen und in einem PHP-Bereich prüfen, ob die Schaltfläche gedrückt wurde:
HTML:
PHP:
quelle
Sie können keine PHP-Funktionen wie das Klicken auf eine Schaltfläche aus HTML aufrufen. Weil HTML auf der Clientseite ist, während PHP auf der Serverseite ausgeführt wird.
Entweder müssen Sie Ajax verwenden oder Sie tun es wie im folgenden Code-Snippet.
Sie müssen Ihre Formulardaten veröffentlichen und dann nach der entsprechenden Schaltfläche suchen, auf die geklickt wird.
quelle
So zeigen Sie $ message in Ihrer Eingabe an:
Um functioncalling.php als externe Datei zu verwenden, müssen Sie sie irgendwie in Ihr HTML-Dokument aufnehmen.
quelle
Versuche dies:
quelle
Sie können so in JavaScript oder jQuery Ajax schreiben und die Datei aufrufen
quelle
Das
onclick
Attribut in HTML ruft JavaScript-Funktionen auf, keine PHP-Funktionen.quelle
Ich steckte darin fest und löste es mit einem versteckten Feld:
In können
value
Sie hinzufügen, was Sie hinzufügen möchten.In test.php können Sie den Wert über abrufen
$_Post[ID]
.quelle
ID
zitiert werden$_Post[ID]
? Unterstützt PHP bloße Wörter wie in Perl?Verwenden Sie einen rekursiven Aufruf, bei dem sich die Formularaktion selbst aufruft. Fügen Sie dann PHP-Code in derselben Form hinzu, um ihn abzufangen. In dem
foo.php
Formular ruftfoo.php
aufpost
Sobald das Formular gesendet wurde, ruft es sich selbst auf (
foo.php
) und Sie können es über die vordefinierte PHP-Variable abrufen ,$_SERVER
wie im folgenden Code gezeigtquelle
Hier ist ein Beispiel, das Sie verwenden könnten:
quelle
Sie können dies einfach tun. In PHP können Sie den Klick auf eine Schaltfläche mithilfe von bestimmen
Daher sollten Sie Ihren Code wie folgt ändern:
quelle