Я хочу сделать кнопку, которая запускает мой php-скрипт после того, как я нажму. Так что я просто делаю 2 отдельных файла и получаю сообщение о действии в файл php, а затем разрешаю ему запускать? или есть лучший способ сделать это? Возможно, в одном документе?
Обновить:
Ну, я в основном сделал сценарий, который будет делать серию циклов, пока не закончится. Поэтому обычно, когда я посещаю страницу, она автоматически запускается, поэтому я делаю кнопку, чтобы начать ее, только когда мне это нужно.
Дополнительная информация: ответьте на один из вопросов, «начиная скрипт», поскольку в нем будет выполняться только сценарий.
Дополнительная информация: Мне действительно не нужно передавать какие-либо данные из формы отправки в php-скрипт. Я просто хочу, чтобы мой скрипт запускался, когда я нажал кнопку. Я просто хочу знать, что это лучший способ сделать это.
Имея 2 файла, как вы сказали, было бы самым простым решением.
Например:
(.. your html ..) <form action="script.php" method="get"> <input type="submit" value="Run me now!"> </form> (...)
<?php echo "Hello world!"; // Your code here ?>
<?php if (!empty($_GET['act'])) { echo "Hello world!"; //Your code here } else { ?> (.. your html ..) <form action="index.php" method="get"> <input type="hidden" name="act" value="run"> <input type="submit" value="Run me now!"> </form> <?php } ?>
Вы можете сделать это в одном документе, если у вас есть условие, основанное на переданных параметрах. Например:
if (isset($_GET['secret_param'])) { <run script> } else { <display button> }
Я думаю, что лучший способ состоит в том, чтобы иметь два файла.
Я знаю, что этот вопрос 5 лет, но для кого-то интересно, как это сделать без повторной рендеринга главной страницы. В этом решении используется редактор dart / скриптовый язык.
У вас может быть <object>
который содержит атрибут data
. Сделайте <object>
1px на 1px, а затем используйте что-то вроде дротика для динамического изменения атрибута data
<object>
который повторно отображает data
в объекте 1px на 1px.
Скрипт HTML:
<object id="external_source" type="text/html" data="" width="1px" height="1px"> </object> <button id="button1" type="button">Start Script</button> <script async type="application/dart" src="dartScript.dart"></script> <script async src="packages/browser/dart.js"></script>
someScript.php:
<?php echo 'hello world'; ?>
dartScript.dart:
import 'dart:html'; InputElement button1; ObjectElement externalSource; void main() { button1 = querySelector('#button1') ..onClick.listen(runExternalSource); externalSource = querySelector('#external_source'); } void runExternalSource(Event e) { externalSource.setAttribute('data', 'someScript.php'); }
Пока вы не публикуете какую-либо информацию, и вы просто хотите запустить скрипт, это должно работать нормально.
Просто создайте сценарий дартс, используя «pub Build (сгенерируйте JS)», а затем загрузите пакет на свой сервер.
Что именно вы подразумеваете под «запускает мой php-скрипт»? Какой скрипт PHP? Один для генерации HTML-ответа для конечного пользователя, или тот, который просто выполняет какую-то задачу обработки данных? Если вы знакомы с использованием тега и каким образом он взаимодействует с PHP, тогда вам нужно будет только POST для вашего целевого PHP-скрипта с помощью кнопки типа «отправить». Если вы не знакомы с формами, посмотрите здесь .
Это работает для меня:
<?php if(isset($_GET['action'])) { //your code echo 'Welcome'; } ?> <form id="frm" method="post" action="?action" > <input type="submit" value="Submit" id="submit" /> </form>
Эта ссылка может быть полезна: