Как вызвать функцию 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).