Консультация № 185476
21.02.2012, 18:49
84.84 руб.
0 14 0
Здравствуйте, уважаемые эксперты! Прошу помочь Вас в решении следующей проблемы.
У меня есть сайт на ucoz: pdsretensk.ucoz.ru. Включена поддержка php.
Создал простенький тест по информатике: https://rfpro.ru/upload/7575 - задания теста, https://rfpro.ru/upload/7576 - обработка в php (о том, что PHP-скрипты необходимо загружать в специальную папку /scripts, осведомлён)
Как сделать так (и возможно ли так сделать), чтобы любой пользователь, зайдя на сайт, мог пройти подобное тестирование и получить результат (оценку)? Обработка должна осуществляться php-скриптом (пусть даже будет самый примитивный вариант исполнения, лишь бы работало). В Denwer всё работает, а как на реальном сайте применить, не знаю.
С php знаком лишь поверхностно, поэтому испытываю некоторые трудности.

Обсуждение

Неизвестный
21.02.2012, 20:29
общий
21.02.2012, 20:31
Адресаты:
Можно все в одном файле сделать - и HTML и PHP
Код:

<?php

/* */
if($_POST['submit'] != '') {

/* код php скрипта
обработка переменных
... $_POST['имя_переменной'] ...
*/


}

# далее HTML код
?>

<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
?>

<form action="index.php" method="post">

..............
<input name="submit" type="submit" class="formbtn" value="Save">
</form>
...

</body>
</html>
давно
Профессор
230118
3054
21.02.2012, 22:52
общий
Нет, разумнее разделять код и внешний вид.
давно
Профессор
230118
3054
21.02.2012, 22:52
общий
Адресаты:
Html с вопросами в той же директории?
давно
Посетитель
317729
109
22.02.2012, 08:55
общий
Адресаты:
Да (для себя я так предполагал), но пока ещё не помещал эти файлы в папку /scripts. Если я помещу туда файлы test_inf.htm и test_inf.php, описанное в вопросе может быть реализовано?
Может, нужны ещё какие-то сведения? FTP host: s2000.ucoz.net
давно
Профессор
230118
3054
22.02.2012, 10:03
общий
Адресаты:
Думаю, да.
давно
Посетитель
317729
109
22.02.2012, 15:34
общий
Адресаты:
Я на этом моменте и остановился. Теперь загрузил всё в папку /scripts, а что делать дальше, не знаю. Как всё это реализовать на сайте?
Теперь в моём представлении на сайте должен быть файл теста; обработка будет осуществляться с помощью скрипта test_inf.php, который находится в папке /scripts на ftp://s2000.ucoz.net. Я правильно понимаю или как-то должно быть по-другому?
давно
Профессор
230118
3054
22.02.2012, 15:39
общий
Адресаты:
Пользователь открывает test_inf.htm, заполняет, щелкает на ок, в дело вступает пхп, который генерирует результат и отправляет пользователю.
давно
Посетитель
317729
109
22.02.2012, 16:58
общий
Адресаты:
На сайте в разделе "Студенту" разместил исходный тест. Это сам тест. Пользователь его заполняет, щёлкает на кнопку "Проверить ответы". Обрабочик пхп находится на сервере в папке /scripts. Теперь осталась одна проблема. Что необходимо подправить в коде файла test_inf.php, чтобы после нажатия кнопки проверки ответов пошло обращение к этому файлу и результат возвращался пользователю?
С кодом-то у меня и проблема, т.к. в пхп пока ещё чайник.
давно
Профессор
230118
3054
22.02.2012, 17:01
общий
Адресаты:
Думаю, надо так и указать. Вместо <form name="test" action="test_inf.php" <form name="test" action="/scripts/test_inf.php"
давно
Профессор
230118
3054
22.02.2012, 17:05
общий
Адресаты:
И прошу, поменяйте цвет фона. Можно такой же, но гораздо светлее.
давно
Посетитель
317729
109
23.02.2012, 07:06
общий
Адресаты:
Попробовал переписать код так, как Вы указали. Но при нажатии кнопки "Показать результаты" выходит ошибка "Невозможно найти ресурс".
давно
Профессор
230118
3054
23.02.2012, 13:46
общий
Адресаты:
А какой полный путь до test_inf.htm?
давно
Посетитель
317729
109
23.02.2012, 14:07
общий
Адресаты:
При покупке услуги "Поддержка php" мне выдали адрес ftp-хоста: s2000.ucoz.net, логин и пароль к нему. В нём содержится папка /scripts, куда и поместил этот файл.
Пробовал вводить action="s2000.ucoz.net/scripts/test_inf.php", тоже никакого результата.

На одном из сайтов нашёл вот что:

Для того, чтобы запустить скрипт на исполнение, его нужно вызвать в любом нужном вам месте шаблона или материала (или даже напрямую, ссылкой в браузере) в текущем домене через проксирование, используя вот такой синтаксис:

http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM

В шаблонах для вызова php-скрипта можно использовать функцию PHPCODE следующим образом:

<?$PHPCODE$("http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM")?>
где

SITE_ADDRESS - адрес сайта пользователя, на котором выполняется скрипт.
SCRIPT_NAME - путь (относительно папки scripts) и имя скрипта, который выполняется.
?param0=valueA¶m1=valueB...¶mN=valueM - параметры для скрипта, которые могут как быть, так и не быть.
<?$PHPCODE$()?> - синтаксис вызова php функции в шаблоне системы uCoz.

Данная функция выполняет GET-запрос на указанный скрипт. Ответ для нее должен быть возвращен только в формате json.

Попробовал подставить свой адрес сайта, имя скрипта, но работа тоже не пошла.
давно
Профессор
230118
3054
23.02.2012, 15:39
общий
Можете помочь с этим вопросом?
Форма ответа