Вопрос

Я хочу создать кнопку, которая запускает мой 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>

Эта ссылка может быть полезна:

https://blogs.msdn.microsoft.com/brian_swan/2010/02/08/getting-started-with-the-sql-server-driver-for-php/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top