Advertisement
Guest User

Untitled

a guest
Nov 28th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.30 KB | None | 0 0
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  6.     <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7.     <title>Document</title>
  8.     <script src="jquery-3.1.1.min.js"></script>
  9.     <script src="main.js"></script>
  10. </head>
  11. <body>
  12.  
  13. <?php
  14. error_reporting(E_ALL & ~(E_NOTICE));
  15. $error = false;
  16. $errorMessages = [
  17.     "firstName" => [],
  18.     "lastName" => [],
  19.     "companyName" => [],
  20.     "phone" => [],
  21.     "email" => []
  22. ];
  23. $successMessage = null;
  24. $driverLicenseLevel = null;
  25.  
  26. if ($_POST["submit"]) {
  27.  
  28. // Filtration of the data
  29.  
  30.     $firstName = trim($_POST["firstName"]);
  31.     $lastName = trim($_POST["lastName"]);
  32.     $email = trim($_POST["email"]);
  33.     $birthday = trim($_POST["birthday"]);
  34.     $companyName = trim($_POST["companyName"]);
  35.     $endDate = trim($_POST["endDate"]);
  36.     $startDate = trim($_POST["startDate"]);
  37.     $phone = str_replace(" ", "", trim($_POST["phone"]));
  38.     $gender = $_POST["gender"];
  39.     $driverLicenseLevel = $_POST[$driverLicenseLevel];
  40.     $nationality = $_POST["nationality"];
  41.     $programmingLanguages = $_POST["programmingLanguages"];
  42.     $firstNameLength = strlen($firstName);
  43.     $lastNameLength = strlen($lastName);
  44.     $companyNameLength = strlen($companyName);
  45.  
  46.     $levels = [
  47.         "beginner",
  48.         "middle",
  49.         "senior",
  50.         "team-leader"
  51.     ];
  52. // Validation of the data
  53.     if (!$firstName) {
  54.         $error = true;
  55.         $errorMessages["firstName"][] = "The first name cannot be empty";
  56.     }
  57.     if ($firstName < 2 || $firstName > 50) {
  58.         $error = true;
  59.         $errorMessages["firstName"][] = "The first name must be between 2 and 50 symbols";
  60.     }
  61.     if (!$lastName) {
  62.         $error = true;
  63.         $errorMessages["lastName"][] = "The last name cannot be empty";
  64.     }
  65.     if ($lastName < 2 || $lastName > 50) {
  66.         $error = true;
  67.         $errorMessages["lastName"][] = "The last name must be between 2 and 50 symbols";
  68.     }
  69.     $areProgrammingLanguagesValid = true;
  70.  
  71.     foreach ($programmingLanguages as $programmingLanguage) {
  72.         $programmingLanguageLength = strlen($programmingLanguage["name"]);
  73.         if ($programmingLanguageLength <= 2 || $programmingLanguageLength > 20 || !in_array($programmingLanguage["level"], $levels)) {
  74.             $areProgrammingLanguagesValid = false;
  75.             break;
  76.         }
  77.     }
  78.     if ($areProgrammingLanguagesValid) {
  79.         if (!$companyName) {
  80.             $error = true;
  81.             $errorMessages["companyName"][] = "The company name cannot be empty";
  82.         }
  83.         if ($companyName < 2 || $companyName > 50) {
  84.             $error = true;
  85.             $errorMessages["companyName"][] = "The company name must be between 2 and 50 symbols";
  86.         }
  87.         if (!is_numeric($phone) || !preg_match('/[\+-,""]/', $phone)) {
  88.             $error = true;
  89.             $errorMessages["$phone"][] = "Invalid phone number ";
  90.         }
  91.         if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  92.             $error = true;
  93.             $errorMessages["email"][] = "Invalid email";
  94.         }
  95.         echo "<tabele border='1'>";
  96.         echo "<tr>";
  97.         echo "<th>";
  98.         echo "Personal Information";
  99.         echo "</th>";
  100.         echo "</tr>";
  101.  
  102.         echo "<tr>";
  103.         echo "<td>";
  104.         echo "Last Name";
  105.         echo "</td>";
  106.         echo "<td>" . $firstName . "</td>";
  107.         echo "</tr>";
  108.  
  109.         echo "<tr>";
  110.         echo "<td>";
  111.         echo "Last Name";
  112.         echo "</td>";
  113.         echo "<td>" . $lastName . "</td>";
  114.         echo "</tr>";
  115.  
  116.         echo "<tr>";
  117.         echo "<td>";
  118.         echo "Email";
  119.         echo "</td>";
  120.         echo "<td>" . $email . "</td>";
  121.         echo "</tr>";
  122.  
  123.         echo "<tr>";
  124.         echo "<td>";
  125.         echo "Phone Number";
  126.         echo "</td>";
  127.         echo "<td>" . $phone . "</td>";
  128.         echo "</tr>";
  129.  
  130.         echo "<tr>";
  131.         echo "<td>";
  132.         echo "Gender";
  133.         echo "</td>";
  134.         echo "<td>" . $gender . "</td>";
  135.         echo "</tr>";
  136.  
  137.         echo "<tr>";
  138.         echo "<td>";
  139.         echo "Birth Date";
  140.         echo "</td>";
  141.         echo "<td>" . $birthday . "</td>";
  142.         echo "</tr>";
  143.  
  144.         echo "<tr>";
  145.         echo "<td>";
  146.         echo "Nationality";
  147.         echo "</td>";
  148.         echo "<td>" . $nationality . "</td>";
  149.         echo "</tr>";
  150.  
  151.         echo "</table>";
  152.  
  153.  
  154.         echo "<tabele border='1'>";
  155.         echo "<tr>";
  156.         echo "<th>";
  157.         echo "Last Work Position";
  158.         echo "</th>";
  159.         echo "</tr>";
  160.  
  161.         echo "<tr>";
  162.         echo "<td>";
  163.         echo "Company Name";
  164.         echo "</td>";
  165.         echo "<td>" . $companyName . "</td>";
  166.         echo "</tr>";
  167.  
  168.         echo "<tr>";
  169.         echo "<td>";
  170.         echo "From";
  171.         echo "</td>";
  172.         echo "<td>" . $startDate . "</td>";
  173.         echo "</tr>";
  174.  
  175.         echo "<tr>";
  176.         echo "<td>";
  177.         echo "To";
  178.         echo "</td>";
  179.         echo "<td>" . $endDate . "</td>";
  180.         echo "</tr>";
  181.  
  182.         echo "</table>";
  183.     }
  184. }
  185. ?>
  186.  
  187. <form action="cv.php" method="post">
  188.     <fieldset>
  189.         <legend>Personal Information:</legend>
  190.         <input type="text" name="firstName" placeholder="First Name"><br>
  191.         <input type="text" name="lastName" placeholder="Last Name"><br>
  192.         <input type="email" name="email" placeholder="Email"><br>
  193.         <input type="tel" name="phone" placeholder="Phone number"><br>
  194.         <input type="radio" name="gender"
  195.             <?= ($gender && $gender == "male") ? "checked='checked'" : null; ?> value="male"> Male
  196.         <input type="radio" name="gender"
  197.             <?= ($gender && $gender == "female") ? "checked='checked'" : null; ?> value="female"> Female
  198.         <br>
  199.         Birth Date: <br>
  200.         <input type="number" name="birthday" placeholder="dd/mm/yyyy"><br>
  201.         Nationality: <br>
  202.         <select name="nationality">
  203.             <option value="bulgarian" <?= ($nationality && $nationality == "bulgarian") ? "selected='selected'" : null; ?> >Bulgarian</option>
  204.             <option value="german" <?= ($nationality && $nationality == "german") ? "selected='selected'" : null; ?> > German</option>
  205.             <option value="american" <?= ($nationality && $nationality == "american") ? "selected='selected'" : null; ?> >American</option>
  206.             <option value="russian" <?= ($nationality && $nationality == "russian") ? "selected='selected'" : null; ?> >Russian</option>
  207.         </select>
  208.     </fieldset>
  209.     <fieldset>
  210.         <legend>Last Work Position:</legend>
  211.         <label for="company">Company Name</label>
  212.         <input type="text" name="companyName" id="company"><br>
  213.         <label for="startDate">From</label>
  214.         <input type="number" name="startDate" id="startDate" placeholder="dd/mm/yyyy"><br>
  215.         <label for="endDate">To</label>
  216.         <input type="number" name="endDate" id="endDate" placeholder="dd/mm/yyyy"><br>
  217.     </fieldset>
  218.     <fieldset class="programming-languages">
  219.         <legend>Computer Skills:</legend>
  220.         <label for="programmingLanguage">Programming languages</label><br>
  221.         <div class="programming-languages-fields">
  222.             <div class="programming-languages-field">
  223.                 <input type="text" name="programmingLanguages[0][name]">
  224.                 <select name="programmingLanguages[0][level]">
  225.                     <?php foreach ($levels as $level): ?>
  226.                         <option value="<?= $level ?>"><?= ucfirst($level) ?></option>
  227.                     <?php endforeach; ?>
  228.                 </select>
  229.             </div>
  230.         </div>
  231.         <br>
  232.         <button type="button" class="remove-language">Remove language</button>
  233.         <button type="button" class="add-language">Add language</button>
  234.     </fieldset>
  235.     <fieldset>
  236.         <legend>Other Skills:</legend>
  237.         <label for="language">Languages</label><br>
  238.  
  239.  
  240.         <br>
  241.         <button type="button" value="Remove language" class="remove-speaking-language">Remove language</button>
  242.         <button type="button" value="Add language" class="add-speaking-language">Add Language</button>
  243.         <p>Driver's License</p>
  244.         <label><input type="checkbox" name="driverLicenseLevel"<?= ($driverLicenseLevel && $driverLicenseLevel == "B") ? "checked='checked'" : null; ?> value="B">B</label>
  245.         <label>
  246.             <input type="checkbox" name="driverLicenseLevel"<?= ($driverLicenseLevel && $driverLicenseLevel == "A") ? "checked='checked'" : null; ?> value="A">A</label>
  247.         <label><input type="checkbox" name="driverLicenseLevel"<?= ($driverLicenseLevel && $driverLicenseLevel == "C") ? "checked='checked'" : null; ?> value="C">C</label>
  248.         <br>
  249.         <input name="submit" type="submit" value="Generate CV">
  250.     </fieldset>
  251. </form>
  252.  
  253. <div class="programming-languages-field-template" style="display: none;">
  254.     <div class="programming-languages-field">
  255.         <input type="text" name="programmingLanguages[{x}][name]">
  256.         <select name="programmingLanguages[{x}][level]">
  257.             <?php foreach ($levels as $level): ?>
  258.                 <option value="<?= $level ?>"><?= ucfirst($level) ?></option>
  259.             <?php endforeach; ?>
  260.         </select>
  261.     </div>
  262. </div>
  263. </body>
  264. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement