Ich suche nach einer einfachen Lösung, um eine PHP-Funktion nur aufzurufen, wenn auf ein Tag geklickt wird.
PHP:
function removeday() { ... }
HTML:
<a href="" onclick="removeday()" class="deletebtn">Delete</a>
UPDATE: HTML und PHP-Code befinden sich in derselben PHP-Datei
javascript
php
ajax
onclick
Mike
quelle
quelle
<a role="button" href="?action=removeday" class="debatebtn">Delete</a>
wo die Aktion abgefangen wird, und die Funktion removeay () ähnlich wie ausführenif($action == 'removeday'){ removeday(); }
. Ich weiß, dass dies spät ist, aber ich denke, es könnte immer noch jemandem bei diesem Problem helfen. C§Antworten:
Verstehen Sie zunächst, dass drei Sprachen zusammenarbeiten:
PHP: Es wird nur vom Server ausgeführt und reagiert auf Anfragen wie das Klicken auf einen Link (GET) oder das Senden eines Formulars (POST).
HTML & JavaScript: Es wird nur im Browser einer anderen Person ausgeführt (ausgenommen NodeJS).
Ich gehe davon aus, dass Ihre Datei ungefähr so aussieht:
Da PHP nur auf Anforderungen reagiert (GET, POST, PUT, PATCH und DELETE über $ _REQUEST), müssen Sie auf diese Weise eine PHP-Funktion ausführen, obwohl sie sich in derselben Datei befinden. Dies gibt Ihnen eine Sicherheitsstufe: "Soll ich dieses Skript für diesen Benutzer ausführen oder nicht?".
Wenn Sie die Seite nicht aktualisieren möchten, können Sie eine Anforderung an PHP senden, ohne sie über eine Methode namens Asynchronous JavaScript and XML (AJAX) zu aktualisieren.
Das kannst du aber auf YouTube nachschlagen. Suchen Sie einfach nach "jquery ajax"
Ich empfehle Laravel jedem, der neu anfängt: http://laravel.com/
quelle
If you don't want to refresh the page, you can make a request to PHP without refreshing via a method called Asynchronous JavaScript and XML (AJAX).
Nun, er hatonclick
in die Frage aufgenommen, daher ist es ziemlich klar, dass das Ziel darin besteht, eine Aktion auszuführen, ohne sie zu aktualisieren. ¬_¬Erstellen Sie in Javascript eine Ajax-Funktion.
Dann rufen Sie von HTML,
Und in Ihrer ajax.php,
quelle
type
Sollte in jQuery vor 1.9.0 verwendet werden,method
ist ein Alias und sollte in neueren Versionen verwendet werden.Sie müssen dies über AJAX tun . Ich empfehle Ihnen dringend, jQuery zu verwenden, um dies für Sie einfacher zu machen.
http://api.jquery.com/jQuery.ajax/
quelle
Es kann und mit ziemlich einfachem PHP gemacht werden, wenn dies Ihre Schaltfläche ist
und das ist dein PHP-Code
Der Code wird aufgerufen, wenn das Senden veröffentlicht wird. Dies geschieht, wenn auf die Schaltfläche geklickt wird.
quelle
Versuchen Sie so etwas zu tun:
quelle
Lösung ohne erneutes Laden der Seite
quelle
Dies ist der einfachste Weg. Wenn das Formular per Post verschickt wird, führen Sie die PHP-Funktion aus. Beachten Sie, dass Sie AJAX benötigen, wenn Sie die Funktion asynchron ausführen möchten (ohne die Seite neu laden zu müssen).
quelle
Note that if you want to perform function asynchronously (without the need to reload the page), then you'll need AJAX.
Nun, dasonclick
würde darauf hinweisen, dass er genau das will. ¬_¬Hier ist eine Alternative mit AJAX, aber ohne jQuery, nur normales JavaScript:
Fügen Sie dies der ersten / Haupt-PHP-Seite hinzu, von der aus Sie die Aktion aufrufen möchten, ändern Sie sie jedoch von einem potenziellen
a
Tag (Hyperlink) in einbutton
Element, damit keine Bots oder bösartigen Apps (oder was auch immer) darauf klicken.Wenn auf das
button
geklickt wird,onclick
wird die Javascript-Funktion des Kopfes verwendet, um$sendingValue
über Ajax an eine andere PHP-Seite zu senden , wie in vielen Beispielen vor dieser. Die andere Seiteajax-php-page.php
sucht nach dem GET-Wert und gibt Folgendes zurückprint_r
:Die Antwort von
print_r
wird dann zurückgegeben und mit angezeigtDas
+=
füllt vorhandene HTML-Elemente auf und fügt sie hinzu, entfernt die+
gerechten Aktualisierungen und ersetzt den vorhandenen Inhalt des HTML-p
Elements"results"
.quelle
Versuchen Sie dies, es wird gut funktionieren.
quelle