Как вызвать функцию PHP скрипт/на кнопке html click

Прежде чем кто-то поймет меня или отметит это, я просмотрел по всему Интернету, чтобы узнать, как это сделать (включая тот же вопрос в stackoverflow). Я новичок, и мне очень сложно изучать новые концепции, поэтому, пожалуйста, будьте спокойны.

Что я хочу сделать, это вызвать функцию php script/нажатием кнопки. У меня это работает в WAMP, если это помогает. Здесь мой код:

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

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

the_script.php имеет это в нем:

the_function() {
    echo "You win";
}

Почему это не работает? Я слышал, что кнопка является клиентской стороной и т.д., А PHP - серверной, что означает, что вы не можете связать эти два. Я знаю, что вы должны использовать AJAX для выполнения этой работы, однако я совершенно не знаю, как это сделать. Я пробовал использовать его в Google и т.д., Но ничего не могу найти. Я знаю, как использовать AJAX и вызывать события с ним, однако я до сих пор не знаю, как заставить его вызвать PHP script.

Можете ли вы сделать ваши ответы максимально ясными и простыми, я новичок в этом

Спасибо за помощь:)

ИЗМЕНИТЬ ***

По какой-то причине везде, где я иду, каждый код отличается. То, как меня учили, AJAX выглядит совершенно по-другому. Можете ли вы написать это так, чтобы я мог понять? Спасибо, вот пример:

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();

Ответ 1

Просто попробуйте следующее:

<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>

В script.php

<?php 
  echo "You win";
 ?>

Ответ 2

Конечно, AJAX - это решение,

Для выполнения запроса AJAX (для удобства мы можем использовать библиотеку jQuery).

Step1.

Включите библиотеку jQuery на свою веб-страницу.

а. вы можете загрузить jQuery-библиотеку с jquery.com и сохранить ее локально.

б. или просто вставьте следующий код,

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

Шаг 2.

Вызов функции javascript при нажатии кнопки

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

Шаг 3.

и, наконец, функция

 function foo () {
      $.ajax({
        url:"test.php", //the page containing PHP скрипт
        type: "POST", //request type
        success:function(result){
         alert(result);
       }
     });
 }

он выполнит запрос AJAX к test.php, когда вы нажимаете кнопку и предупреждаете ответ.

Например, ваш код в test.php есть,

<?php echo 'hello'; ?>

тогда он будет предупреждать "привет", когда вы нажимаете кнопку.

Ответ 3

Вы также можете использовать

   $(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';
 }

Надеюсь, что это поможет кому-то

Ответ 4

Используйте jQuery. На странице HTML -

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

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

Страница Php -

echo "Hello";

Ответ 5

the_function() {

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

   alert(result); // will alert 1

 }});

}

//demo_test.php

<?php echo 1; ?>

Примечания

  • Включить jquery-библиотеку для использования jquery Ajax
  • Храните файл demo_test.php в той же папке, где ваш javascript файл находится

Ответ 6

Измените the_script.php как это.

<script>
the_function() {
    alert("You win");
}
</script>

Ответ 7

First understand that you have three languages working together.

PHP: выполняется только сервером и отвечает на запросы, такие как щелчок по ссылке (GET) или отправка формы (POST). HTML и Javascript: работает только в браузере кого-то (кроме NodeJS) Я предполагаю, что ваш файл выглядит примерно так:

<?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>

Поскольку PHP отвечает только на запросы (GET, POST, PUT, PATCH и DELETE через $_REQUEST), вам нужно запустить php-функцию, даже если они находятся в одном файле. Это дает вам уровень безопасности: "Должен ли я запускать этот script для этого пользователя или нет?".

Если вы не хотите обновлять страницу, вы можете сделать запрос на PHP без обновления с помощью метода Asynchronous Javascript и XML (AJAX).