Xom9ik

Form.php (calculator)

May 10th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 20.22 KB | None | 0 0
  1. //Form Calculator
  2. <?php
  3. if (!($_COOKIE["identifierUser"])) {
  4.     header('Location: error.php');
  5. }
  6. ?>
  7.  
  8.     <!doctype html>
  9.     <html lang="en">
  10.     <head>
  11.         <meta charset="UTF-8">
  12.         <meta name="viewport"
  13.               content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  14.         <meta http-equiv="X-UA-Compatible" content="ie=edge">
  15.         <link rel="stylesheet" type="text/css"
  16.               href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.99.0/css/materialize.min.css">
  17.  
  18.         <title>Calc</title>
  19.     </head>
  20.     <body>
  21.  
  22.     <style>
  23.         div.error {
  24.             font-size: 14px;
  25.             color: red;
  26.         }
  27.  
  28.         input:not([type]):focus:not([readonly]), input[type=text]:not(.browser-default):focus:not([readonly]), input[type=password]:not(.browser-default):focus:not([readonly]), input[type=email]:not(.browser-default):focus:not([readonly]), input[type=url]:not(.browser-default):focus:not([readonly]), input[type=time]:not(.browser-default):focus:not([readonly]), input[type=date]:not(.browser-default):focus:not([readonly]), input[type=datetime]:not(.browser-default):focus:not([readonly]), input[type=datetime-local]:not(.browser-default):focus:not([readonly]), input[type=tel]:not(.browser-default):focus:not([readonly]), input[type=number]:not(.browser-default):focus:not([readonly]), input[type=search]:not(.browser-default):focus:not([readonly]), textarea.materialize-textarea:focus:not([readonly]) {
  29.             border-bottom: 1px solid #e91e63;
  30.             box-shadow: 0 1px 0 0 #e91e63;
  31.         }
  32.  
  33.         .card {
  34.             background-color: #f0f2f5 !important;
  35.             border-radius: 10px 10px 10px 10px;
  36.         }
  37.  
  38.         ul.dropdown-content.select-dropdown li:not(.disabled) span {
  39.             color: #e91e63;
  40.         }
  41.  
  42.         [type="checkbox"]:checked + label:before {
  43.             border-right: 2px solid #e91e63;
  44.             border-bottom: 2px solid #e91e63;
  45.         }
  46.     </style>
  47.  
  48.  
  49.     <div class="container">
  50.         <div class="center-align">
  51.             <div class="card white ">
  52.                 <div class="card-content black-text">
  53.                     <span class="card-title">Расчет конкурсного балла ЗНО</span>
  54.                     <form class="formValidate" id="formValidate" method="" action="javascript:Calc()"
  55.                           novalidate="novalidate">
  56.                         <div class="row">
  57.                             <div class="input-field col s12">
  58.                                 <label for="surname" class="">Фамилия</label>
  59.                                 <input id="surname" name="surname" type="text" data-error=".errorTxt1">
  60.                                 <div class="pink-text"></div>
  61.                             </div>
  62.                         </div>
  63.                         <div class="row">
  64.                             <div class="input-field col s12">
  65.                                 <label for="name" class="">Имя</label>
  66.                                 <input id="name" name="name" type="text" data-error=".errorTxt2">
  67.                                 <div class="pink-text"></div>
  68.                             </div>
  69.                         </div>
  70.                         <div class="row">
  71.                             <div class="input-field col s12">
  72.                                 <label for="middlename" class="">Отчество</label>
  73.                                 <input id="middlename" name="middlename" type="text" data-error=".errorTxt3">
  74.                                 <div class="pink-text"></div>
  75.                             </div>
  76.                         </div>
  77.  
  78.                         <!--специальность 1-->
  79.                         <div class="row">
  80.                             <div class="input-field col s6">
  81.                                 <!--                            onchange="change(this.value)"-->
  82.                                 <select name="specialty1" id="specialty1" data-error=".errorTxt11">
  83.                                     <option selected="selected" value="1">Менеджмент</option>
  84.                                     <option disabled value="2">Маркетинг</option>
  85.                                     <option disabled value="3">Филология. Cловянские языки и литературы</option>
  86.                                     <option value="4">Экономика</option>
  87.                                     <option value="5">Прикладная (инженерная) механика</option>
  88.                                     <option value="6">Металлургия</option>
  89.                                     <option value="7">Электроэнергетика, электротехника и электромеханика</option>
  90.                                     <option value="8">Архитектура и градостроительство</option>
  91.                                     <option value="9">Социальная работа</option>
  92.                                     <option value="10">Логистика транспортных систем</option>
  93.                                     <option value="11">Информатика</option>
  94.                                 </select>
  95.                                 <label>Специальность 1</label>
  96.                                 <div class="pink-text"></div>
  97.  
  98.                             </div>
  99.                             <div class="input-field col s6">
  100.                                 <label for="priority1" class="">Приоритет 1</label>
  101.                                 <input id="priority1" name="priority1" type="text" data-error=".errorTxt8">
  102.                                 <div class="pink-text"></div>
  103.                             </div>
  104.                         </div>
  105.  
  106.                         <!--специальность 2-->
  107.                         <div class="row">
  108.                             <div class="input-field col s6">
  109.                                 <!--                            onchange="change(this.value)"-->
  110.                                 <select name="specialty2" id="specialty2">
  111.                                     <option disabled value="1">Менеджмент</option>
  112.                                     <option selected="selected" value="2">Маркетинг</option>
  113.                                     <option disabled value="3">Филология. Cловянские языки и литературы</option>
  114.                                     <option value="4">Экономика</option>
  115.                                     <option value="5">Прикладная (инженерная) механика</option>
  116.                                     <option value="6">Металлургия</option>
  117.                                     <option value="7">Электроэнергетика, электротехника и электромеханика</option>
  118.                                     <option value="8">Архитектура и градостроительство</option>
  119.                                     <option value="9">Социальная работа</option>
  120.                                     <option value="10">Логистика транспортных систем</option>
  121.                                     <option value="11">Информатика</option>
  122.                                 </select>
  123.                                 <label>Специальность 2</label>
  124.                             </div>
  125.                             <div class="input-field col s6">
  126.                                 <label for="priority2" class="">Приоритет 2</label>
  127.                                 <input id="priority2" name="priority2" type="text" data-error=".errorTxt9">
  128.                                 <div class="pink-text"></div>
  129.                             </div>
  130.                         </div>
  131.  
  132.                         <!--специальность 3-->
  133.                         <div class="row">
  134.                             <div class="input-field col s6">
  135.                                 <!--                            onchange="change(this.value)"-->
  136.                                 <select name="specialty3" id="specialty3">
  137.                                     <option disabled value="1">Менеджмент</option>
  138.                                     <option disabled value="2">Маркетинг</option>
  139.                                     <option selected="selected" value="3">Филология. Cловянские языки и литературы</option>
  140.                                     <option value="4">Экономика</option>
  141.                                     <option value="5">Прикладная (инженерная) механика</option>
  142.                                     <option value="6">Металлургия</option>
  143.                                     <option value="7">Электроэнергетика, электротехника и электромеханика</option>
  144.                                     <option value="8">Архитектура и градостроительство</option>
  145.                                     <option value="9">Социальная работа</option>
  146.                                     <option value="10">Логистика транспортных систем</option>
  147.                                     <option value="11">Информатика</option>
  148.                                 </select>
  149.                                 <label>Специальность 3</label>
  150.                             </div>
  151.                             <div class="input-field col s6">
  152.                                 <label for="priority3" class="">Приоритет 3</label>
  153.                                 <input id="priority3" name="priority3" type="text" data-error=".errorTxt10">
  154.                                 <div class="pink-text"></div>
  155.                             </div>
  156.                         </div>
  157.  
  158.  
  159.                         <div class="row">
  160.                             <div class="input-field col s12">
  161.                                 <label for="ZNO1" class="">Результат ЗНО 1</label>
  162.                                 <input id="ZNO1" name="ZNO1" type="text" data-error=".errorTxt4">
  163.                                 <div class="pink-text"></div>
  164.                             </div>
  165.                         </div>
  166.                         <div class="row">
  167.                             <div class="input-field col s12">
  168.                                 <label for="ZNO2" class="">Результат ЗНО 2</label>
  169.                                 <input id="ZNO2" name="ZNO2" type="text" data-error=".errorTxt5">
  170.                                 <div class="pink-text"></div>
  171.                             </div>
  172.                         </div>
  173.                         <div class="row">
  174.                             <div class="input-field col s12">
  175.                                 <label for="ZNO3" class="">Результат ЗНО 3</label>
  176.                                 <input id="ZNO3" name="ZNO3" type="text" data-error=".errorTxt6">
  177.                                 <div class="pink-text"></div>
  178.                             </div>
  179.                         </div>
  180.  
  181.                         <div class="row">
  182.                             <div class="input-field col s12">
  183.                                 <label for="ATT" class="">Средний балл аттестата</label>
  184.                                 <input id="ATT" name="ATT" type="text" data-error=".errorTxt7">
  185.                                 <div class="pink-text"></div>
  186.                             </div>
  187.                         </div>
  188.                         <div class="row">
  189.                             <div class="input-field col s12">
  190.                                 <button class="btn pink waves-effect waves-light right submit" type="submit"
  191.                                         id="calc">Рассчитать
  192.                                     <i class="mdi-content-send right"></i>
  193.                                 </button>
  194.                                 <button style="margin-right: 20px;"
  195.                                         class="btn pink waves-effect waves-light right submit" type="submit"
  196.                                         id="reset">Очистить
  197.                                     <i class="mdi-content-send right"></i>
  198.                                 </button>
  199.                             </div>
  200.                         </div>
  201.                     </form>
  202.  
  203.                     <div id="resultValue" style="display:none;" class="green-text card-title">1</div>
  204.                     <!--                -->
  205.                     <div class="row">
  206.                         <button class="btn-large pink waves-effect waves-light"
  207.                                 id="goGame">Перейти к игре
  208.                             <i class="mdi-content-send"></i>
  209.                         </button>
  210.                     </div>
  211.  
  212.                 </div>
  213.             </div>
  214.         </div>
  215.  
  216.     </div>
  217.  
  218.  
  219.     </body>
  220.  
  221.  
  222.     <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.1/jquery.min.js"></script>
  223.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"></script>
  224.     <script type="text/javascript"
  225.             src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.99.0/js/materialize.min.js"></script>
  226.  
  227.  
  228.     <script>"use strict";
  229.         $('#specialty1').change(function(){
  230.             var tmp1 = $('#specialty1 option:selected').val();
  231.             var tmp2 = $('#specialty2 option:selected').val();
  232.             var tmp3 = $('#specialty3 option:selected').val();
  233.             $("#specialty2 > option").each(function() {
  234.                 if(this.value == tmp1 || this.value == tmp3) {
  235.                     $(this).attr('disabled', true);
  236.                 }
  237.                 else {
  238.                     $(this).removeAttr("disabled");
  239.                 }
  240.             });
  241.             $("#specialty3 > option").each(function() {
  242.                 if(this.value == tmp1 || this.value == tmp2) {
  243.                     $(this).attr('disabled', true);
  244.                 }
  245.                 else {
  246.                     $(this).removeAttr("disabled");
  247.                 }
  248.             });
  249.             $('select').material_select();
  250.         });
  251.         $('#specialty2').change(function(){
  252.             var tmp1 = $('#specialty1 option:selected').val();
  253.             var tmp2 = $('#specialty2 option:selected').val();
  254.             var tmp3 = $('#specialty3 option:selected').val();
  255.             $("#specialty1 > option").each(function() {
  256.                 if(this.value == tmp2 || this.value == tmp3) {
  257.                     $(this).attr('disabled', true);
  258.                 }
  259.                 else {
  260.                     $(this).removeAttr("disabled");
  261.                 }
  262.             });
  263.             $("#specialty3 > option").each(function() {
  264.                 if(this.value == tmp1 || this.value == tmp2) {
  265.                     $(this).attr('disabled', true);
  266.                 }
  267.                 else {
  268.                     $(this).removeAttr("disabled");
  269.                 }
  270.             });
  271.             $('select').material_select();
  272.         });
  273.         $('#specialty3').change(function(){
  274.             var tmp1 = $('#specialty1 option:selected').val();
  275.             var tmp2 = $('#specialty2 option:selected').val();
  276.             var tmp3 = $('#specialty3 option:selected').val();
  277.             $("#specialty1 > option").each(function() {
  278.                 if(this.value == tmp2 || this.value == tmp3) {
  279.                     $(this).attr('disabled', true);
  280.                 }
  281.                 else {
  282.                     $(this).removeAttr("disabled");
  283.                 }
  284.             });
  285.             $("#specialty2 > option").each(function() {
  286.                 if(this.value == tmp1 || this.value == tmp3) {
  287.                     $(this).attr('disabled', true);
  288.                 }
  289.                 else {
  290.                     $(this).removeAttr("disabled");
  291.                 }
  292.             });
  293.             $('select').material_select();
  294.         });
  295.         $("#formValidate").validate({
  296.             rules: {
  297.                 surname: {
  298.                     required: true,
  299.                 },
  300.                 name: {
  301.                     required: true,
  302.                 },
  303.                 middlename: {
  304.                     required: true,
  305.                 },
  306.                 ZNO1: {
  307.                     required: true,
  308.                     range: [100, 200]
  309.                 },
  310.                 ZNO2: {
  311.                     required: true,
  312.                     range: [100, 200]
  313.                 },
  314.                 ZNO3: {
  315.                     required: true,
  316.                     range: [100, 200]
  317.                 },
  318.                 ATT: {
  319.                     required: true,
  320.                     range: [1, 12]
  321.                 },
  322.                 priority1: {
  323.                     required: true,
  324.                     range: [1, 15]
  325.                 },
  326.                 priority2: {
  327.                     required: true,
  328.                     range: [1, 15]
  329.                 },
  330.                 priority3: {
  331.                     required: true,
  332.                     range: [1, 15]
  333.                 }
  334.             },
  335.             messages: {
  336.                 ZNO1: {
  337.                     range: "Значение должно быть от 100 до 200"
  338.                 },
  339.                 ZNO2: {
  340.                     range: "Значение должно быть от 100 до 200"
  341.                 },
  342.                 ZNO3: {
  343.                     range: "Значение должно быть от 100 до 200"
  344.                 },
  345.                 ATT: {
  346.                     range: "Значение должно быть от 1 до 12"
  347.                 },
  348.                 priority1: {
  349.                     range: "Значение должно быть от 1 до 15"
  350.                 }
  351.             },
  352.             errorElement: 'div',
  353.  
  354.         });
  355.         // $("#successful1").hide();
  356.         $("#goGame").hide();
  357.  
  358.         $(document).on('click', '#reset', function () {
  359.             $("#ZNO1").val("");
  360.             $("#ZNO2").val("");
  361.             $("#ZNO3").val("");
  362.  
  363.             $("#ATT").val("");
  364.             $("#name").val("");
  365.             $("#middlename").val("");
  366.             $("#surname").val("");
  367.             $("#priority").val("");
  368.             var $toastContent = $('<span>Поля очищены</span>').add($('<button class="btn-flat toast-">OK</button>'));
  369.             Materialize.toast($toastContent, 1500);
  370.         });
  371.         $(document).on('click', '#goGame', function () {
  372.             document.location.href = "/home-page.php";
  373.         });
  374.  
  375.         function Calc() {
  376.             $.ajax({
  377.                 url: "calc.php",
  378.                 method: "POST",
  379.                 data: {
  380.                     name: $("#name").val(),
  381.                     surname: $("#surname").val(),
  382.                     middlename: $("#middlename").val(),
  383.                     ZNO1: $("#ZNO1").val(),
  384.                     ZNO2: $("#ZNO2").val(),
  385.                     ZNO3: $("#ZNO3").val(),
  386.                     ATT: $("#ATT").val(),
  387.  
  388.                     PRIORITY_1: $("#priority1").val(),
  389.                     SPECIALTY_1: $('#specialty1 option:selected').text(),
  390.  
  391.                     PRIORITY_2: $("#priority2").val(),
  392.                     SPECIALTY_2: $('#specialty2 option:selected').text(),
  393.  
  394.                     PRIORITY_3: $("#priority3").val(),
  395.                     SPECIALTY_3: $('#specialty3 option:selected').text()
  396.                 },
  397.                 dataType: "text",
  398.                 success: function (data) {
  399.                     $("#resultValue").fadeIn(800);
  400.                     $("#resultValue").html($("#name").val() + ", ваш конкурсный балл: " + data);
  401.                     var $toastContent = $('<span>Результат рассчитан</span>').add($('<button class="btn-flat toast-">OK</button>'));
  402.                     Materialize.toast($toastContent, 1500);
  403.                     $("#goGame").show(300);
  404.                 }
  405.             });
  406.         }
  407.  
  408.         $('select').material_select();
  409.     </script>
  410. </html>
Advertisement
Add Comment
Please, Sign In to add comment