Кнопка для запуска PHP-скрипта, как?
-
18-09-2019 - |
Вопрос
Я хочу создать кнопку, которая запускает мой PHP-скрипт после того, как я нажму на нее.Итак, мне просто создать 2 отдельных файла и опубликовать действие в php-файле, а затем запустить его?или есть лучший способ сделать это?Возможно в одном документе?
Обновлять:
Ну, по сути, я написал сценарий, который будет выполнять серию циклов, пока не закончится.Поэтому обычно, когда я захожу на страницу, она запускается автоматически, поэтому я делаю кнопку, чтобы запускать ее только тогда, когда мне это нужно.
Больше информации:Ответ на один из вопросов «запуск сценария», поскольку в этом случае сценарий будет только выполняться.
Больше информации: Мне действительно не нужно передавать какие-либо данные из формы отправки в PHP-скрипт.Я просто хочу, чтобы мой скрипт запускался, когда я нажимаю кнопку.Я просто хочу знать, как лучше всего это сделать.
Решение
Наличие двух файлов, как вы предложили, было бы самым простым решением.
Например:
2-файловое решение:
index.html
(.. your html ..)
<form action="script.php" method="get">
<input type="submit" value="Run me now!">
</form>
(...)
скрипт.php
<?php
echo "Hello world!"; // Your code here
?>
Однофайловое решение:
index.php
<?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 лет, но для тех, кто задается вопросом, как это сделать без повторного рендеринга главной страницы.В этом решении используется редактор дартс/язык сценариев.
Вы могли бы иметь <object>
тег, содержащий data
атрибут.Сделать <object>
1px на 1px, а затем используйте что-то вроде дротик для динамического изменения <object>
's data
атрибут, который повторно отображает data
в объекте размером 1 на 1 пиксель.
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>
какой-нибудьScript.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');
}
Пока вы не публикуете никакой информации и просто хотите запустить скрипт, все должно работать нормально.
Просто создайте сценарий dart, используя «pub Build(generate JS)», а затем загрузите пакет на свой сервер.
Что именно вы подразумеваете под «запускает мой PHP-скрипт»?Что за PHP-скрипт?Тот, который генерирует ответ HTML для конечного пользователя, или тот, который просто выполняет какую-то задачу по обработке данных?Если вы знакомы с использованием тега и тем, как он взаимодействует с PHP, вам нужно всего лишь отправить POST на целевой PHP-скрипт, используя кнопку типа «отправить».Если вы не знакомы с формами, посмотрите здесь.
Это работает для меня:
index.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>
Эта ссылка может быть полезна: