ajax — Как вызвать скрипт / функцию php при нажатии кнопки html

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

Я хочу вызвать скрипт / функцию php нажатием кнопки. У меня это работает в 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, чтобы сделать эту работу, однако я совершенно не знаю, как это сделать. Я пытался найти его и т.д., но ничего не могу найти. Я знаю, как использовать AJAX и вызывать события с ним, однако я до сих пор не знаю, как заставить его вызывать скрипт PHP.

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

Спасибо за помощь 🙂

РЕДАКТИРОВАТЬ ***

По какой-то причине, куда бы я ни пошел, у всех разные коды. То, как меня учили, 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();

11

Решение

Просто попробуйте это:

<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";
?>
28

Другие решения

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

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

Шаг 1.

Включить библиотеку 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 script
type: "POST", //request type
success:function(result){
alert(result);
}
});
}

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

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

<?php echo 'hello'; ?>

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

12

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

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

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

5

использование jQuery. На странице HTML —

<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 страница —

echo "Hello";
2
the_function() {

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

alert(result); // will alert 1

}});

}

// demo_test.php

<?php echo 1; ?>

Заметки

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

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

<script>
the_function() {
alert("You win");
}
</script>
0
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, даже если они находятся в одном файле. Это дает вам уровень безопасности: «Должен ли я запускать этот скрипт для этого пользователя или нет?».

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

0
По вопросам рекламы [email protected]