LINUX.ORG.RU

Вопрос специалистам по PHP. Ввод данных.

 , , ничего не понимаю, ,


1

2

Нужно нарисовать на странице поля login. password, minutes, command-line а после нажатия на кнопку (OK) записать их в файл (pipe). Что бы они уже парсились другой программой. Сам я в PHP ничего не понимаю. Программу пишу для частных нужд, однако предоставлю исходники как допишу.

Программа что то вроде WEB консоли для управления игровым сервером.

Формат выходных данных:

login=username
password=qwerty123
minutes=0
command-line=print через 30 минут сервер будет перезагружен

Ответ на: комментарий от resurtm

... уж лучше я на gambas CGI тогда сам попытаюсь.

rezedent12 ☆☆☆
() автор топика

быдлокод, валидации нет

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$result = "login=" . $_POST['login'] . "\npassword=" . $_POST['password'] . "\nminutes=" . $_POST['minutes'] . "\ncommand-line=" . $_POST['command-line'];
file_put_contents('output.txt', $result);
}
?>
<html>
<form method="POST" action="<?php $_SERVER['PHP_SELF']?>">
Login: <input type="text" name="login" value="username" size="30"><br />
Password: <input type="text" name="password" value="qwerty123" size="30"><br />
Minutes: <input type="text" name="minutes" value="0" size="3"><br />
Command-Line: <input type="text" name="command-line" value="print через 30 минут сервер будет перезагружен" size="30"><br />
<input type="submit" value="OK">
</form>
</html>

я не программист :(

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от rezedent12

Строки склеиваются через точку. А вообще уже xtraeft тебе готовый вариант накидал. Но млин, это же гуглится за час!

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от alozovskoy

Установил php5-cgi, перезапустил nginx. Я всё правильно сделал?

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от kukara4

Нет. Просто заново главную страницу выводит.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от kukara4

Таки заставил работать через fastcgi. Да уж, думал как на апаче всё будет работать..

Сейчас это скрипт выводит в браузер

No input file specified.

а в output.txt ничего не выводит.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от xtraeft

php запустил через fastcgi, уже работает.

Но есть проблема Вопрос специалистам по PHP. Ввод данных. (комментарий)

No input file specified. Нет входного файла указано.

При том что файл явно «выходной».

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от rezedent12

разберись с работоспособностью пхп скриптов сначала на своем конфиге

При том что файл явно «выходной».

это к тому скрипту отношения вообще не имеет.

ну или попробуй поменять

<form method="POST" action="<?php $_SERVER['PHP_SELF']?>">
на
<form method="POST" action="script.php">

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от xtraeft

Вообще то поменял.

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$result = "login=" . $_POST['login'] . "\npassword=" . $_POST['password'] . "\nminutes=" . $_POST['minutes'] . "\ncommand-line=" . $_POST['command-line'];
file_put_contents('/login-minecraft/output.txt', $result);
}
?>
<html>
<form method="POST" action="/login-minecraft/index.php">
Login: <input type="text" name="login" value="username" size="30"><br />
Password: <input type="text" name="password" value="qwerty123" size="30"><br />
Minutes: <input type="text" name="minutes" value="0" size="3"><br />
Command-Line: <input type="text" name="command-line" value="print через 30 минут сервер будет перезагружен" size="30"><br />
<input type="submit" value="OK">
</form>
</html>

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от xtraeft

Извини, просто перепутал index.php с index.html

Теперь такого сообщения не выдаёт, то есть скрипт по ходу запускается, только ничего в output.txt не пишет.

rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от resurtm

За 40 баксов сделаю. Сроки: 1 день на разработку + 1 день на твои правки.

дорого. Я сделаю за $37.

drBatty ★★
()
Ответ на: комментарий от drBatty

Нашёл

2013/07/31 19:30:03 [error] 13819#0: *45 FastCGI sent in stderr: "PHP Warning:  file_put_contents(/login-minecraft/output.txt): failed to open stream: No such file or directory in /var/www-html/login-minecraft/index.php on line 4" while reading response header from upstream, client: 192.168.0.25, server: localhost, request: "POST /login-minecraft/index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "yoba-gaming.no-ip.org", referrer: "http://yoba-gaming.no-ip.org/login-minecraft/index.php"
rezedent12 ☆☆☆
() автор топика
Ответ на: комментарий от xtraeft

Спасибо, вроде работает. Завтра буду с pipe каналами пробовать. Как сделаю, выложу исходники в теме разработка. Для начала это будет альтернативный minecraft авторизатор работающий не через bukkit, а через командную строку сервера. А дальше можно будет другие функции прикрутить.

rezedent12 ☆☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.