it-swarm.com.de

So rufen Sie ein PHP-Skript/eine Funktion auf einem HTML-Button auf

Bevor mich jemand anspricht oder dies festschreibt, habe ich im ganzen Internet nachgefragt, wie das geht (einschließlich der gleichen Frage zu stackoverflow). Ich bin neu und finde es sehr schwer, neue Konzepte zu erlernen.

Was ich tun möchte, ist ein PHP-Skript/eine Funktion auf einen Klick klicken. Ich habe dies in WAMP, wenn das hilft. Hier ist mein Code:

<?php include 'the_script.php'; ?>

<button type="button" onclick="the_function()">Click Me</button>

the_script.php hat folgendes:

the_function() {
    echo "You win";
}

Warum funktioniert das nicht? Ich habe gehört, dass die Schaltfläche clientseitig usw. ist und PHP serverseitig ist, was bedeutet, dass Sie die beiden nicht miteinander verknüpfen können. Ich weiß, dass Sie AJAX verwenden müssen, um dies zu erreichen, aber ich habe absolut keine Ahnung, wie ich das machen soll. Ich habe versucht, googeln usw., kann jedoch nichts finden. Ich weiß, wie man AJAX verwendet und Ereignisse damit aufruft, aber ich habe immer noch keine Ahnung, wie ich ein PHP -Skript aufrufen soll.

Können Sie bitte Ihre Antworten so klar und einfach wie möglich machen? Ich bin neu in diesem Bereich

Danke für die Hilfe :)

BEARBEITEN ***

Aus irgendeinem Grund ist, wo auch immer ich hingehe, jeder Code verschieden. Die Art, wie ich AJAX gelernt habe, sieht völlig anders aus. Kannst du es bitte so schreiben, damit ich es verstehen kann? Danke, hier ist ein Beispiel:

var request;

if (window.XMLHttpRequest) {
    request = new XMLHttpRequest();
} else {
    request = new ActiveXObject("Microsoft.XMLHTTP");
}

request.open('GET', 'file.php', true);

request.onreadystatechange = function() {

    if (request.readyState===4 && request.status===200) {
        do stuff
    }
}

request.send();
11
dspacejs

 

Probieren Sie einfach folgendes aus:

<button type="button">Click Me</button>
<p></p>
<script type="text/javascript">
    $(document).ready(function(){
        $("button").click(function(){

            $.ajax({
                type: 'POST',
                url: 'script.php',
                success: function(data) {
                    alert(data);
                    $("p").text(data);

                }
            });
   });
});
</script>

In script.php

<?php 
  echo "You win";
 ?>
28
Priyank

Natürlich AJAX ist die Lösung,

Um eine AJAX Anforderung auszuführen (zur Vereinfachung können wir die jQuery-Bibliothek verwenden).

Schritt 1.

Fügen Sie die jQuery-Bibliothek in Ihre Webseite ein

ein. Sie können die jQuery-Bibliothek von jquery.com herunterladen und lokal aufbewahren.

b. oder einfach den folgenden Code einfügen,

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

Schritt 2.

Rufen Sie beim Klicken auf die Schaltfläche eine JavaScript-Funktion auf

<button type="button" onclick="foo()">Click Me</button>

Schritt 3.

und schließlich die Funktion

 function foo () {
      $.ajax({
        url:"test.php", //the page containing php script
        type: "POST", //request type
        success:function(result){
         alert(result);
       }
     });
 }

es wird eine AJAX Anforderung an test.php gestellt, wenn Sie auf die Schaltfläche klicken und die Antwort benachrichtigen.

Ihr Code in test.php lautet zum Beispiel

<?php echo 'hello'; ?>

dann wird "Hallo" angezeigt, wenn Sie auf die Schaltfläche klicken.

12
akhil.cs

Sie können auch verwenden 

   $(document).ready(function() {

    //some even that will run ajax request - for example click on a button

    var uname = $('#username').val();
    $.ajax({
    type: 'POST',
    url: 'func.php', //this should be url to your PHP file
    dataType: 'html',
    data: {func: 'toptable', user_id: uname},
    beforeSend: function() {
        $('#right').html('checking');
    },
    complete: function() {},
    success: function(html) {
        $('#right').html(html);
    }
    });

    });
And your func.php:

  function toptable()
 {
  echo 'something happens in here';
 }

Ich hoffe es hilft jemandem

5
Kumar

Verwenden Sie jQuery.In der HTML-Seite - 

<button type="button">Click Me</button>

<script>
$(document).ready(function() {
$("button").click(function(){
  $.ajax({
    url:"php_page.php", //the page containing php script
    type: "POST", //request type
    success:function(result){
    alert(result);
    }
  });
});
})
</script>

PHP-Seite - 

echo "Hello";
2
Sougata Bose
the_function() {

$.ajax({url:"demo_test.php",success:function(result){

   alert(result); // will alert 1

 }});

}

// demo_test.php

<?php echo 1; ?>

Anmerkungen

  1. Fügen Sie eine Jquery-Bibliothek für die Verwendung der Jquery Ajax hinzu
  2. Bewahren Sie die Datei demo_test.php im selben Ordner auf, in dem sich Ihre Javascript-Datei befindet
0
Kiren Siva

Ändern Sie the_script.php so.

<script>
the_function() {
    alert("You win");
}
</script>
First understand that you have three languages working together.

PHP: Wird nur vom Server ausgeführt und beantwortet Anfragen wie das Klicken auf einen Link (GET) oder das Senden eines Formulars (POST) . HTML & Javascript: Wird nur im Browser eines anderen Benutzers ausgeführt (außer NodeJS) Ich gehe davon aus, dass Ihre Datei ungefähr so ​​aussieht:

<?php
function the_function() {
echo 'I just ran a php function';
 }

 if (isset($_GET['hello'])) {
  the_function();
  }
   ?>
  <html>
 <a href='the_script.php?hello=true'>Run PHP Function</a>
 </html>

Da PHP nur auf Anforderungen (GET, POST, PUT, PATCH und DELETE über $ _REQUEST) reagiert, müssen Sie eine PHP-Funktion ausführen, obwohl sie in derselben Datei liegt. 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 Anfrage an PHP senden, ohne die Aktualisierung über eine Methode namens Asynchronous Javascript und XML (AJAX) zu starten.

0
Priyank