JavaScript
7
Вклад в тег
function Tab(){
$('.tabs').removeClass('active');
$('#'+this.id).addClass('active');
};.tabs {
display: none;
}
.active {
display: block;
}
u.link{
color:blue;
}<u class="link" id="id_блока_который_надо_открыть" onclick="Tab(this)">ссылка</u>display можно заменить на прозрачность и % ее менять... updatePrice, туда же в запрос, просто добавить значение поля kupon и если нужно выполнять updatePrice при изменении kupon, отправляйте так же через on('change'. А в php обработчике, проверяйте наличие переменной kupon + что это не попытка подставить в ваш код что-то вредное, можно проверить регулярным выражением или хотя бы, что это не html код и прочее. Регулярные выражения для новичка не очень просто, однако они еще пригодятся и их придется учить. А до момента понимания, как писать регулярные используйте встроенные ф-ции и/или регулярные выражения найденные в сети..on('change', я бы советовал добавить проверку по маске купона на стороне пользователя с помощью js, чтобы скрипт не ломился отправлять и соответственно обрабатывать ненужные запросы, тем самым вы сможете меньше нагружать процессор и БД, кажется что мелочь, но если пользователей на сайте будет много, тут, там-сям немного сэкономили, на круг уже будет заметно.$_POST на прямую, для получения значений $_POST и $_GET используйте функции фильтрации filter_input(), если это массив filter_input_array(). Они же могут определить является ли полученная переменная числом, адресом эл.почты и прочее. Подробнее тут и тут...$_POST и $_GET... $_POST на $POST и соответственно $_GET на $GET. Визуально практически ничего не изменив в тексте скрипта, но уже суть совсем другая )))ini_set('display_errors', true);
ini_set('display_startup_errors', true);
ini_set('error_reporting', -1);