Как вызвать php-скрипт / функцию при нажатии кнопки html
Прежде чем кто-то пойдет на меня или отметит это, я просмотрел по всему Интернету, чтобы узнать, как это сделать (включая тот же вопрос о stackoverflow). Я новичок, и мне очень сложно изучать новые концепции, поэтому, пожалуйста, будьте спокойны.
То, что я хочу сделать, это вызвать скрипт / функцию php при нажатии кнопки. У меня это работает в WAMP, если это помогает. Вот мой код:
the_script.php имеет это в нем:
Почему это не работает? Я слышал, что кнопка является клиентской стороной и т. Д., А PHP – серверной, что означает, что вы не можете связать эти два. Я знаю, что вы должны использовать AJAX для выполнения этой работы, однако я совершенно не знаю, как это сделать. Я пробовал использовать его в Google и т. Д., Но ничего не могу найти. Я знаю, как использовать 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();
Как сделать вызов функции php при нажатии на кнопку?
Для этого можно использовать тег , который при нажатии на кнопку будет отправлять данные на сервер. На сервере можно использовать скрипт PHP, который будет принимать данные и вызывать нужную функцию.
// html-страница form action="script.php" method="post"> input type="submit" value="Нажми меня" /> form> // script.php php if ($_SERVER['REQUEST_METHOD'] == 'POST') myFunction(); > function myFunction() // Тут код функции >
Запуск функции PHP при нажатии кнопки HTML
Мне нужно запустить некоторую функцию PHP при нажатии кнопки. Я знаю, что это не должно быть использование php, скорее js должен это сделать, но то, что мои функции делают при сборе данных с сервера, когда пользователь спрашивает об этом. В частности, он получает некоторые пользовательские данные и записывает их в файл, и пользователь должен решить, какие данные будут собраны.
Как я могу это сделать? Я видел сообщение Запустить файл PHP на кнопке Click, но я все еще не уверен, как его использовать.
Я учусь, поэтому, пожалуйста, не будьте слишком суровы. Я пробовал onclick() и всевозможные вещи, но это не привело к чему-либо полезному
Пожалуйста, опишите более подробно, даже псевдокод, что вы хотите сделать, о какой кнопке вы думаете, что вы пробовали, где вы потерпели неудачу, какой процесс вы хотите запустить и почему нет Работа?
Посмотрите на AJAX, в частности. Это довольно полезная статья, которую я нашел: net.tutsplus.com/tutorials/javascript-ajax/…
@markus Например, у меня есть php-функция getvideos() которая возвращает url getvideos() для видео пользователя, и я хочу вызвать его, когда пользователь нажимает кнопку
Почему бы вам просто не загрузить страницу видео, когда пользователь нажимает эту кнопку и показывает там ссылку?
Потому что я не знаю URL, и это не только один URL. Мне нужно спросить все URL всех видео. И не только, это был просто пример. То же самое с фотографиями и тому подобное
6 ответов
Файл php запускается всякий раз, когда вы обращаетесь к нему через HTTP-запрос: GET, POST, PUT.
Вы можете использовать JQuery/Ajax для отправки запроса нажатием кнопки или даже просто изменить URL-адрес браузера, чтобы перейти к php-адресу.
В зависимости от данных, отправленных в POST/GET, вы можете иметь оператор switch, выполняющий другую функцию.
Задание функции через GET
Итак, на стороне PHP вы можете иметь что-то вроде этого:
и вы можете сделать простейший запрос получения с помощью адресной строки в качестве тестирования:
http://127.0.0.1/test.php?runFunction=hellodddddd
Function not found or wrong input http://127.0.0.1/test.php?runFunction=hello
Отправка данных
Запрос GET через JQuery
$.get("test.cgi", < name: "John">) .done(function(data) < alert("Data Loaded: " + data); >);
Запрос POST через JQuery
Запрос GET через расположение Javascript
Чтение данных (PHP)
См. PHP Turotial для чтения сообщения и получения: http://www.tizag.com/phpT/postget.php
Полезные ссылки
Всегда ли необходимо иметь такой файл, как `test.php. Дело в том, что у меня ~ 20 php-функций, и было бы очень полезно, если бы был какой-либо способ вызвать функцию из того же файла, в котором есть кнопка. Если это невозможно, я сделаю это, как вы предложили.
Возможно, вы можете использовать функцию call_user_func ($ functionName) для вызова конкретной функции, основанной на переменной из GET / POST. Я обновляю свой пост, чтобы добавить пример.
Огромное спасибо. Довольно много нового для кого-то совершенно нового в веб-разработке 🙂 Большое спасибо, вы избавили меня от неприятностей!
Хорошо, я бы посоветовал для вашей ситуации использовать GET было бы самым простым наряду с кнопкой HTML. Если вы хотите сделать это более продвинутым, вы можете иметь свою функцию в PHP, повторяющую ответ и использующую пример GET Request через JQuery для отображения ответа в предупреждении.
Хорошо, теперь у меня есть небольшая проблема — извините за это. Я действительно не знаю, как их соединить. Мои функции не имеют параметров для передачи, поэтому поле данных не требуется. Однако, если все мои кнопки просто делают .$post(«test.php»); Как я могу дифференцировать их для каждой кнопки. Идея состояла бы в том, чтобы передать параметр коммутатору и иметь значение для каждого из них, которое могло бы работать. Но я все еще не совсем уверен, как это сделать. Извините еще раз — я новичок в этом, как я уже сказал
Если вы хотите сделать запрос на сервер, вы должны использовать AJAX, чтобы вы могли отправлять свои параметры на сервер, и он может запускать любые php, которые вы хотите, с этими параметрами.
Пример с чистым javascript:
У вас может быть один файл с функциями, называемыми например functions.php
myFunction2() < >// . many functions ?>
Как вызвать скрипт / функцию php при нажатии кнопки html
Прежде чем кто-то поймет меня или отметит это, я просмотрел по всему Интернету, чтобы узнать, как это сделать (включая тот же вопрос в stackoverflow). Я новичок, и мне очень сложно изучать новые концепции, поэтому, пожалуйста, будьте спокойны. Что я хочу сделать, это вызвать функцию php script/нажатием кнопки. У меня это работает в WAMP, если это помогает. Здесь мой код:
Почему это не работает? Я слышал, что кнопка является клиентской стороной и т.д., А 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();