X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Пишем php-скрипт для создания теста на Wordpress
AlexF
AlexF
Topic Starter сообщение 11.11.2012, 15:35; Ответить: AlexF
Сообщение #1


Пришлось самому написать тест используя php для своего блога (www.IAim.ru) на движке WordPress, хотя сам скрипт подойдет и для других CMS.

Оставлю в стороне вопрос: Зачем нужен тест на блоге? Но вот почему самому пришлось изобретать велосипед, ведь есть такие плагины для этих целей, как: TESTME, Quiz Plugins, и еще парочку, запамятовал…

Не понравились плагины по многим причинам: ссылки на сайт разработчика – замудренно спрятана, создаются лишние базы данных, осуществляются перелистывания - переходы...

Хотелось, чтоб весь тест был на одной страницы – без всяких перелистываний и другой не нужной чепухи… С гибкой системой подсчетов баллов. И вообще очень гибким во всех отношениях.

Итак, чтоб написать свой тест на php для ВП нам понадобятся:
  1. Сам тест в txt (doc) формате: вопросы и варианты ответов
  2. Начальные знания php. Вообще, я даю готовый шаблон, но в 90% случаях нужно знать, где потерялась либо точка с запятой, либо кавычка. Часто по невнимательности затираю – а потом ищу…
  3. Плагин для ВП (для других смс – ищите свой плагин): Inline PHP , перебирал другие плагины для вставки непосредственно в статью кода скприпта – не работали корректно, зависит от настройки хостинга
  4. Блокнот, мой выбор: Notepad++
  5. Дополнительно, но не обязательно. Локальный хост (Денвер или XAMPP), хотя он мне нужен был только в первое время – теперь сразу заношу в новую запись через админку


1. HTML теста. (Весь тест оформляем через форму в виде радио кнопок, хотя это не принципиально, можно и выподающие списки, вводы значений....)

<h3>Выберите один из вариантов:</h3>

<form method="POST">

<strong>1. Ель и ее среда обитания: </strong>
<!-- Вопрос №1 и так далее, name="q1" - соответвсвенно это номер вопроса -->
<p>
<input name="q1" value="3" checked="" type="radio">a) Лес
<!-- Вариант ответа, value - балы за ответ -->
<input name="q1" value="2" type="radio">б) Поляна
<input name="q1" value="1" type="radio">c) Болото
</p>

<strong>2. Листья имеют форму: </strong>
<p>
<input name="q2" value="2" checked="" type="radio">a) Шишек
<input name="q2" value="3" type="radio">
б) Иголок
<input name="q2" value="1" type="radio">c) Листья, как листья
</p>

<strong>3. Практическое применение Ели в народном хозяйстве: </strong>
<p>
<input name="q3" value="1" checked="" type="radio">a) На Новый Год
<input name="q3" value="2" type="radio">
б) Для растопки печки
<input name="q3" value="3" type="radio">d) Буратино был точно не из Ели
</p>

<strong>4. Что вы думаете о Елке: </strong>
<p>
<input name="q4" value="3" checked="" type="radio"> a) Полезное дерево
<input name="q4" value="-5" type="radio">
б) Ненавижу НГ
<input name="q4" value="2" type="radio"> c) Да, ничего не думаю
</p>

<strong>5. Продолжите песенку, «в лесу родилась елочка…»:</strong>, ,

<p>
<input name="q5" value="2" checked="" type="radio">a) … в лесу она росла
<input name="q5" value="1" type="radio">
б) … и кто ее родил
<input name="q5" value="3" type="radio"> c) Что за детский сад

</p>

<input name="test" value=" Получить результат " type="submit">

</form>


Все теги средсвами ШТМЛ - для визуального оформления, к самой логике теста ни имеют отношения,

Где, name="q5" - номер вопроса, value="3" - баллы за вопрос, c) Что за детский сад - ответ на вопрос

Это все разметка текста средствами html, дальше уже будет сам скрипт. Но прежде...

2. Ставим плагин Inline PHP для WP

Vachsite.ru /wp-admin/ -> Плагины -> Добавить новый -> Поиск: Inline PHP (ставим и активируем)

Особенности данного плагина:

Обычно, скрипты на php когда внедряют их в html, выглядят так:

<!--?php
... ... // Здесь тело, код, скрипта
?-->


НО, с WP в создаваемых записях такое не пройдет, для этого и нужен плагин Inline PHP

<exec>
... ... // Здесь тело, код, скрипта непосредсвенно в записях блога
</exec>



3. Итак, сам скрипт теста на ПШП для ВП, мне лень тестить на локальном ПК (я уверен в себе), я сразу постю (предварительно составив его в блокноте) в новую запись, вот что получается:


<exec>

// Тест на Елки палки и вашу ботаническую составляющюю

// Проверяем нажата ли кнопка формы
if (@$_POST['test']){ // Если кнопка нажата, выполняем скрипт


echo "<strong>Результат теста:</strong>"; // Вывод надписи
echo "<div id="test_rezult">"; // Визуальное офомление


// Выуживаем переменные с POST (это метод самой формы)
//С урл берется переменная и присваивается, q – Номера вопросов

@$q1 = $_POST['q1'];
@$q2 = $_POST['q2'];
@$q3 = $_POST['q3'];
@$q4 = $_POST['q4'];
@$q5 = $_POST['q5'];

// Слаживаем в данном случае, но вариантов масса, но нужны уже начальные навыки в PhP
$rez_test=$q1+$q2+$q3+$q4+$q5;

// Условие, выводим как результат теста в зависимости от набранных баллов

if($rez_test < 8 ){ echo " Ваши познания в Елях вызывает шок "; }
if($rez_test > 7 && $rez_test < 14 ){ echo " Вы ничего не смыслите в Елках-Палках "; }
if($rez_test > 13 ){ echo "Ботан!.."; }

echo "</div>"; // Закрываем контейнер <div id="test_rezult"> для визуального оформления
}

</exec>


Результат теста выведет после нажатия кнопки и в том месте где этот скрипт поставлен, т.е. либо в начеле тестовых вопросов или в конце.

Если задача - протестить на локальном ПК то вместо <exec>... ...</exec> заключаем в <?php ... ... ?>

Посмотреть на это чудо на работу готового теста и скрипта можно тут., в разделе Тесты блога - размещены более серьезные тесты на подобном скрипте.

Скачать штпмл и пшп скрипт - смотрите в прикрепленных файлах ниже (помнинет о <exec>... ...</exec> и <?php ... ... ?>, первый вариант для ВП, второй для локал сервера ... )

Важно!

Вообще, ВордПрессу не нравится, когда непосредсвенно в записи добавляют скрипты. Срабатывает своего рода защита. По этому плигины для вставки програмного кода в саму запись либо не работают, либо работают коряво.

Выход, для Inline PHP:

1. Работать, редактировать только в отображении - вкладка HTML.
2. Если нужно поправить запись - захожу на другую, переключаю Визуально на HTML, и только потом ищу сам тест.


При поддержке: SeoPult - система автоматизированного продвижения сайтов и управления контекстной рекламой. Обсудить на форуме.

[img]http://www.masterwebs.ru/sp/seopult.gif[/img]
Прикрепленные файлы
Прикрепленный файл  4WP_PhP.rar ( 1,58 килобайт ) Кол-во скачиваний: 454
 
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Dex_mw
Dex_mw
сообщение 14.9.2016, 13:22; Ответить: Dex_mw
Сообщение #2


AlexF, Автор, использовать ваш скрипт не получается, так как после нажатия клавиши появляется ошибка. Помогите разобраться.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey_mw
sc2r2bey_mw
сообщение 17.9.2016, 5:19; Ответить: sc2r2bey_mw
Сообщение #3


а почему сразу плагин не сделать? и тогда wp будет доволен )

я не знаю, в чем вы уверенны, но вот это убило:

@$q1 = $_POST['q1'];
@$q2 = $_POST['q2'];
@$q3 = $_POST['q3'];
@$q4 = $_POST['q4'];
@$q5 = $_POST['q5'];



Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
13 Chekon 4058 Сегодня, 11:48
автор: Chekon
Открытая тема (нет новых ответов) Rebex.io – Ваша инновационная платформа для обмена криптовалюты!
1 Rebex 668 Вчера, 11:50
автор: Rebex
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2802 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат
54 arendator 34819 15.4.2024, 15:16
автор: arendator
Горячая тема (нет новых ответов) ⭕Антидетект браузер AdsPower для эффективной работы с мультиаккаунтами!
83 AdsPower 24411 14.4.2024, 22:52
автор: AdsPower


 



RSS Текстовая версия Сейчас: 18.4.2024, 22:29
Дизайн