· 8 years ago · May 01, 2018, 02:00 PM
1<!DOCTYPE html>
2<html>
3<head>
4 <meta charset="utf-8">
5 <title>Kultprosvet test</title>
6</head>
7<body>
8 <div>
9 <form id = "form">
10 <input id = "name" type = "text" minlength="2" placeholder="Ваше имÑ" name = "name" required>
11 <input id = "s_name" type = "text" placeholder="Ваша фамилиÑ" name = "s_name" required>
12 <input id = "email" type = "text" placeholder="email" name = "email" required>
13 <select id = "ticket" required name = "ticket">
14 <option>free</option>
15 <option>standart</option>
16 <option>premium</option>
17 </select>
18 <input id = "submit" type = "submit">
19 </form>
20
21 <div id = "errors"></div>
22 </div>
23
24<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
25<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"></script>
26<script src = "script.js"></script>
27</body>
28
29(function ($) {
30
31 'use strict';
32
33 $(document).ready(function() {
34
35 $('#form').validate({
36 rules: {
37 name: {
38 required: true,
39 minlength: 2
40 },
41 s_name: "required",
42 email: {
43 required: true,
44 myEmail: true
45 }
46 },
47 messages: {
48 name: {
49 required: "Введите имÑ",
50 minlength: "Ð˜Ð¼Ñ Ñлишком короткое"
51 },
52 s_name: "Введите фамилию",
53 email: {
54 required: "Введите email",
55 minlength: "Введите корректный email"
56 }
57 },
58 submitHandler: function() {
59 $.ajax({
60 url: "registration_form.php",
61 type: "POST",
62 data: $("#form").serialize(),
63 success: function (result) {
64 if(result) {
65 $("#errors").text(result);
66 }
67 else {
68 console.log('no errors');
69 $('#form')[0].reset();
70 $("#errors").empty();
71 }
72 }
73 });
74 }
75 });
76
77 jQuery.validator.addMethod("myEmail", function(value, element) {
78 return this.optional( element ) || /^(([^<>()[]\.,;:s@"]+(.[^<>()[]\.,;:s@"]+)*)|(".+"))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/.test( value );
79 }, 'Введите корректный email');
80
81 });
82
83}(jQuery));
84
85<?php
86
87date_default_timezone_set('UTC');
88
89$name = htmlspecialchars($_POST['name']);
90$s_name = htmlspecialchars($_POST['s_name']);
91$email = htmlspecialchars($_POST["email"]);
92$ticket = htmlspecialchars($_POST['ticket']);
93
94$date = date('d_m_Y');
95
96$valid_email = filter_var($email, FILTER_VALIDATE_EMAIL);
97
98$table_name = 'registration_' . $date;
99
100if(!$valid_email) {
101 die ("Введите коректный email");
102}
103
104if((strlen($name) <= 1) || (!$s_name) || (!$email) || (!$ticket)){
105 die ("Ð’Ñе Ð¿Ð¾Ð»Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть заполнены");
106}
107
108$connect = mysqli_connect('localhost', 'root', 'password') or die('Connection error');
109
110$create_db = mysqli_query($connect, "CREATE DATABASE IF NOT EXISTS kultprosvet");
111
112$connect_db = mysqli_select_db($connect, "kultprosvet");
113
114$table = "CREATE TABLE $table_name (
115 id INT(10) NOT NULL AUTO_INCREMENT,
116 name VARCHAR(100) NOT NULL DEFAULT '',
117 s_name VARCHAR(100) NOT NULL DEFAULT '',
118 email VARCHAR(100) NOT NULL DEFAULT '',
119 ticket VARCHAR(100),
120 PRIMARY KEY (id)
121 )";
122
123$result = mysqli_query($connect, "SELECT email FROM $table_name");
124
125if($result) {
126 while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
127 if($row['email'] == $email){
128 die('такой email ÑущеÑтвует');
129 };
130 }
131}
132
133
134$query_table = mysqli_query($connect,$table);
135
136$query = mysqli_query($connect,"insert into $table_name(name, s_name, email, ticket) values ('$name', '$s_name', '$email','$ticket')");
137
138if(mysqli_errno($connect) > 0){
139 echo mysqli_errno($connect). ": " . mysqli_error($connect);
140}
141
142mysqli_close($connect);
143
144?>