Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2013, 14:39   #1
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию PHP, отправка формы на bash скрипт

Здравствуйте. Имею следующую ситуацию:
Есть у меня скрипт на bash, который получает IP адрес, указанный мною в HTML форме, далее скрипт выполняется и в случае успеха, он (bash-скрипт) генерирует ответ. Сейчас это организовано так:

index.html
PHP код:
<html>
<
head>
<
title>Install equipment</title>
<
style>
    
body {}
</
style>
</
head>
<
body>

<
form method="post" action="process.php">
    <
input type="text" name="ipaddr" placeholder="IP адрес коммутатора" size="30" autofocus="autofocus"  />
    <
input type="text" name="vlan" placeholder="Номер VLAN" size="15" />
    <
input type="submit" />
</
form>


</
body>
</
html
process.php
PHP код:
<?php

// config
$script_path '/usr/local/sbin/web/';
$script_file_name './install_new_equipment.sh';

// open folder
chdir($script_path);

// set param
$switch_ip = (isset($_POST['ipaddr'])) ? htmlspecialchars($_POST['ipaddr']) : '';
$new_vlan = (isset($_POST['vlan'])) ? htmlspecialchars($_POST['vlan']) : '';

// script request
$request "$script_file_name $switch_ip $new_vlan";
$new_request escapeshellcmd($request);

// run
system($new_request);

?>
Проблема: после того, как скрипт выполнится, страница редиректится на process.php, где отрисовывается ответ от bash-скрипта. Это не очень удобно.
Как сделать так, чтобы результат выводится в index, без перехода на process.php?
ATL вне форума Ответить с цитированием
Старый 29.10.2013, 15:24   #2
buriat
Форумчанин
 
Регистрация: 28.06.2010
Сообщений: 189
По умолчанию

Ну так-то ничего не редиректится, а выполняется новый запрос к process.php.
Чтоб вобще без перехода, то выполняй запрос с помощью ajax. Так же можно вставить код из process.php в index.html (только сменить перед этим extension на php). Или после вызова system сделать редирект обратно на index.php.
buriat вне форума Ответить с цитированием
Старый 29.10.2013, 16:27   #3
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

buriat, сперва держал всё в одном файле, но была проблема с обновлением страницы - скрипт запускался сразу, т.к. имел в $_POST старые параметры. unset() на них не действует.

Последний раз редактировалось ATL; 29.10.2013 в 16:42.
ATL вне форума Ответить с цитированием
Старый 30.10.2013, 15:22   #4
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Цитата:
Сообщение от ATL Посмотреть сообщение
buriat, сперва держал всё в одном файле, но была проблема с обновлением страницы - скрипт запускался сразу, т.к. имел в $_POST старые параметры. unset() на них не действует.
PHP код:
<?php 
$_POST 
= array();
?>
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка на php скрипт строки с переходами, ввиде параметра Человек_Борща Работа с сетью в Delphi 6 09.12.2011 18:37
Дополнить скрипт php формы. privat Помощь студентам 2 21.07.2011 15:25
Отправка из одной формы в два PHP файла Napste® PHP 7 20.01.2010 16:01
Отправка файла POST-запросом на PHP-скрипт... ActiveX Работа с сетью в Delphi 7 20.07.2009 16:54
отправка данных на php скрипт papa_serg Работа с сетью в Delphi 2 10.04.2008 10:56