Есть ли возможность сделать запуск скрипта по кнопке, например, написал скрипт на странице домен/скрипт.пшп открыл страницу скрипт выполнился, есть ли возможность чтобы скрипт не выполнялся а выполнялся например по кнопке. Открыл страницу в браузере и только когда на кнопку нажал скрипт выполнился?
Не понятно. --- Добавлено --- Может, речь об отличном от GET методе? Можно повесить на один и тот же адрес разные действия в зависимости от метода запроса.
что не понятно) пишу скрипт файле скрипт.пшп открываю его на выполнение по урлу домен/скрипт.пшп и скрипт выполняется. Вопрос как сделать чтобы при открытии страницы скрипт не выполнялся а выполнялся например по щелчку кнопки на этой странице? Практически разжувал и положил, еще скажите не понятно)
В чем состоит действие «скрипта»? Если доп. действие заключается просто в открытии (выводе) др. страницы, то нужно вешать страницы на разные адреса.
Жесть ладно для Вас лично) открываю нотепэд++ создать новый файл скрипт.пшп сохраняю в расширении php, далее открываю этот файл в нотепэд ++ и пишу ?php> for ($i = 1; $i <= 10; $i++) { echo $i; } ?> сохраняю файл. открываю файл в браузере по адресу домен/скрипт.пшп и скрипт выполняется. Вопрос: как сделать чтобы при открытии файла скрипт не выполнялся, а выполнялся например при нажатии кнопки. И не надо говорит, что Вы не поняли D
Будешь выделываться, пошлю Я тут время трачу, чтобы помочь в воскресенье, а в ответ вижу такое... Это обычный вывод. Делается тоже по GET, т.е. нужно использовать др. адрес. Файл при этом может быть тот же самый, если логика этого кода как-то связана с логикой кода первой страницы. Иначе используйте отдельный файл, например разместите доп. код в корне сайта в файле script2.php и используйте в первом такую ссылку на его запуск: /script2.php (можно и без слеша, но показанный адрес – более «надежный»). --- Добавлено --- Ко всем php-файлам, размещенным в корне сайта (в том числе во вложенных каталогах), можно обращаться по подобным адресам.
@Evgenii_web, сделай отдельную html-страницу, в ней форму, которая по кнопке будет переходить к твоему скрипту. Если термины неясны, го html учить, рано php.
Лучше ответьте на вопрос о сути действия. Здесь это самое главное. Как я выше написал, можно повесить «скрипт» на POST, тогда просто так, после ввода адреса в браузере, он запускаться не будет, но для обычного вывода так делать безграмотно. Видел я, как начинающие открывают страницы при помощи форм по POST. Вот это реально жесть!!!
Использование форм для выполнения GET-запросов тоже может быть безграмотным решением. Кнопки легко делаются в виде обычных стилизованных ссылок. Использовать ли реальную кнопку или «нарисованную», зависит от сути выполняемого по нажатии на эту кнопку действия.
причем тут форма) Я указал образец) ?php> for ($i = 1; $i <= 10; $i++) { echo $i; } ?> при переходе на страницу скрипта он не должен запускаться. только по кнопке. Возможно поможет формулировка автозапуск скрипта, самоизоляция кода пшп. --- Добавлено --- по формам по постам тоже есть вопрос, почти такая же проблема, заполнив форму пользователь перенаправляется на другую страницу. А обработаться на текущей он не может? По сути не может так как все скрипты запускаются при открытии страницы и там происходит сбой. Возьмем ту же регистрацию пользователя. Возможно в этой ситуации я найду решение отправить пользователя после обработки формы обратно, через редирект но я думаю это какой то жесткий костыль и не правильный. Возможно мне пора учить джаваскрипт и изолирвоать скрипт пшп.
запутали вы меня дайте наглядный пример логики. страница с кнопкой ссылокой на файл обработки. Другими словали изолировать код пшп не возможно и он в любом случае выполнится, единственный способ сделать отдельный файл обработки и закинуть пользователя в неизвестное место и возвратить через костыль редиректа либо почему я не могу иметь код пшп на нужной странице и не запускался чтобы он автоматически а по кнопке. Почему скрипты конфликтуют, так как они всегда запускаются даже если я их не прошу DDD Я еще раз повторюсь может мне пора изучить джаваскрипт, может он решит проблему?
Может. Часто основная обработка происходит до редиректа, а после редиректа – просто вывод результатов. --- Добавлено --- Это вы всех запутали! Нормально скажите, для чего нужна кнопка! --- Добавлено --- Тогда мы скажем, как лучше это все реализовать.
хочу админку написать на php и чувствую будет полный треш) Я вернусь к этой теме, чуть позже, пока мозгуйте. Базу данных надо заполнить через неделю начну придумывать код)
Сначала с основами без приплетения JS разберитесь. --- Добавлено --- Это да. Нет кнопки «написать админку» --- Добавлено --- В общем для действий с видимыми для пользователя изменениями используете POST-запросы, иначе GET. Можно использовать и расширенный состав методов. Но это основные. Создание, обновление, удаление – POST. Просмотр списков, элементов – GET.
Как я писал выше я уже сталкнулся с одной разновидностью проблемы, что я не могу обработать регистрацию пользователя на странице а должен перенаправлять на обработку на левую никому не нужную страницу. потом на странице обработчкие я должен наставить ссылок чтобы вернуть пользователя. если все формы регистрации, смены пароля, забыл пароль и т.п. и обработку разместить в одном файле то получаю жесткий конфликт, так как все скрипты выполняются.
Я выше частично ответил на это. Вы можете по одному и тому же адресу выполнять разные действия в зависимости от доп. условий (GET/POST, авторизован/не авторизован и т.п.). --- Добавлено --- Зачем? Как выше написал, основную обработку можно делать по тому же адресу, а редирект – для перехода, например, на страницу с сообщением об успешной или нет регистрации. --- Добавлено --- Нет. См. выше по поводу использования доп. условий. --- Добавлено --- PHP: if ($_SERVER['REQUEST_METHOD']=='POST') { POST-обработка } else { др., прежде всего GET} --- Добавлено --- Во многих роутерах есть деление не только по адресу, но и по методу запроса, т.е. там можно самому не писать такие ветвления.
т.е. я должен на все скрипты, добавить условия, чтобы они не выполнялись (чувствую истина где то рядом). ок ладно поэксперементирую вконце месяца, отпишу тут. --- Добавлено --- ладно с регистрацией, авторизацией, сменой пароля забыл пароль и т.п. понятно, а что с основным вопросом? ?php> for ($i = 1; $i <= 10; $i++) { echo $i; } ?> открывается страница скрипт выполняется, данные выводятся, т.е. тут тоже условия нажатия на кнопку?
Зависит от архитектуры. Если роутер во фронт-контроллере, то достаточно в одном месте разделить. Но вам, наверное, будет сложно понять такие штуки. Нужно более последовательно все это изучать. Уже отвечал. В чем суть этого цикла? Если реально какой-то вывод, то нужно выводить по GET (скорее всего при переходе по обычной ссылке, а не по кнопке). Но для обработки GET-запросов тоже могут применяться ветвления (см. мой код выше), причем это не обязательно связано с методами запросов. Например, в статье по послед. ссылке, которую я вам давал, используется ветвление по формату адреса: 1) g09.ru/articles – список статей (точнее его первая страница); 2) g09.ru/articles/my-first-article – отдельная статья, т.е. элемент списка. --- Добавлено --- Более понятный пример этого ветвления для тех, кто не использует фронт, который использовал я, есть в этом комменте: https://gency.ru/comment/15
ТС, научись формулировать мысли наверное, ты хотел этого: PHP: <!DOCTYPE html> <html> <body> <form method="post"> <input type="hidden" name="run" value="1"/> <input type="submit"/> </form> <?php // тут можно прицепить другой php-файл, содержащий твой код if (isset($_POST['run'])) { for ($i = 1; $i <= 10; $i++) { echo $i; } } ?> </body> </html>
@Evgenii_web столько народу тратит время на твой наивный вопрос, прям удивительно. "По кнопке" это так себе определение Если мы говорим о PHP, то нажатие кнопки означает новый запрос. С точки зрения протокола HTTP, в запросе есть адрес (URL) и метод (GET | POST | и т.п.). При этом разные URL-ы фактически могут соответствовать одному и тому же скрипту в файловой системе. Например, если меняется только query параметр (то что в адресе стоит после знака "?"). GET http://example.com/omg.php POST http://example.com/omg.php?action=come-on POST http://example.com/omg.php?action=fck-off Переход по ссылке это всегда GET. Форма может породить либо GET либо POST, а javascript может вызвать и другие методы. Вот проверяя методы и параметры, ты можешь выполнять разные действия в одном и том же скрипте. Ещё вопросы?