There is a registration page, looks like this:
<?php include("include/db_connect.php"); include("functions/functions.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ru"> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/styles.css"> <link rel="stylesheet" href="trackbar/trackbar.css"> <link rel="stylesheet" href="css/reset.css"> <script type="text/javascript" src="/js/jquery-2.2.4.min.js"></script> <!--<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> --> <script type="text/javascript" src="/js/jcarousellite_1.0.1.js"></script> <script type="text/javascript" src="/js/shop-script.js"></script> <script type="text/javascript" src="/js/reg-val.js"></script> <script type="text/javascript" src="/js/jquery.cookie.min.js"></script> <script type="text/javascript" src="/trackbar/jquery.trackbar.js"></script> <script type="text/javascript" src="/js/jquery.form.js"></script> <script type="text/javascript" src="/js/jquery.validate.js"></script> <title>Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ</title> </head> <body> <div id="block-body"> <!-- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΏΠΊΠΈ ΡΠ°ΠΉΡΠ° --> <?php include("include/block-header.php"); ?> <!-- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ ΡΠΎΠ²Π°ΡΠΎΠ², ΡΠΈΠ»ΡΡΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ --> <div id="block-right"> <?php include("include/block-category.php"); include("include/block-parameter.php"); include("include/block-news.php"); ?> </div> <!-- ΠΠ»ΠΎΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΠ°ΠΉΡΠ° --> <div id="block-content"> <h2 class="h2-title">Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ</h2> <form action="/reg/handler_reg.php" method="POST" id="form_reg"> <p id="reg_message"></p> <div id="block-form-registration"> <ul id="form-registration"> <li> <label for="">ΠΠΎΠ³ΠΈΠ½</label> <span class="star">*</span> <input type="text" name="reg_login" id="reg_login"> </li> <li> <label for="">ΠΠ°ΡΠΎΠ»Ρ</label> <span class="star">*</span> <input type="text" name="reg_pass" id="reg_pass"> <span id="genpass">Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ</span> </li> <li> <label for="">Π€Π°ΠΌΠΈΠ»ΠΈΡ</label> <span class="star">*</span> <input type="text" name="reg_surname" id="reg_surname"> </li> <li> <label for="">ΠΠΌΡ</label> <span class="star">*</span> <input type="text" name="reg_name" id="reg_name"> </li> <li> <label for="">ΠΡΡΠ΅ΡΡΠ²ΠΎ</label> <span class="star">*</span> <input type="text" name="reg_patronymic" id="reg_patronymic"> </li> <li> <label for="">E-mail</label> <span class="star">*</span> <input type="text" name="reg_email" id="reg_email"> </li> <li> <label for="">ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½</label> <span class="star">*</span> <input type="text" name="reg_phone" id="reg_phone"> </li> <li> <label for="">ΠΠ΄ΡΠ΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ</label> <span class="star">*</span> <input type="text" name="reg_address" id="reg_address"> </li> <li> <div id="block-captcha"> <img src="/reg/reg_captcha.php" alt="captcha"> <input type="text" name="reg_captcha" id="reg_captcha"> <p id="reloadcaptcha">ΠΠ±Π½ΠΎΠ²ΠΈΡΡ</p> </div> </li> </ul> </div> <p align="right"> <input type="submit" name="reg_submit" id="form_submit" value="Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ"> </p> </form> </div> <!-- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΡΠ° --> <?php include("include/block-footer.php"); ?> </div> </body> </html> There is also a handler that enters the data from the registration form into the database:
<?php if($_SERVER["REQUEST_METHOD"] == "POST") { session_start(); define('myeshop', true); include("../include/db_connect.php"); include("../functions/functions.php"); $error = array(); $login = iconv("UTF-8", "cp1251",strtolower(clearString($_POST['reg_login']))); $pass = iconv("UTF-8", "cp1251",strtolower(clearString($_POST['reg_pass']))); $surname = iconv("UTF-8", "cp1251",clearString($_POST['reg_surname'])); $name = iconv("UTF-8", "cp1251",clearString($_POST['reg_name'])); $patronymic = iconv("UTF-8", "cp1251",clearString($_POST['reg_patronymic'])); $email = iconv("UTF-8", "cp1251",clearString($_POST['reg_email'])); $phone = iconv("UTF-8", "cp1251",clearString($_POST['reg_phone'])); $address = iconv("UTF-8", "cp1251",clearString($_POST['reg_address'])); if (strlen($login) < 5 or strlen($login) > 15) { $error[] = "ΠΠΎΠ³ΠΈΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡ 5 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!"; } else { $result = mysqli_query($link, "SELECT login FROM reg_user WHERE login = '$login'"); If (mysqli_num_rows($result) > 0) { $error[] = "ΠΠΎΠ³ΠΈΠ½ Π·Π°Π½ΡΡ!"; } } if (strlen($pass) < 7 or strlen($pass) > 15) $error[] = "Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ ΠΎΡ 7 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!"; if (strlen($surname) < 3 or strlen($surname) > 20) $error[] = "Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π€Π°ΠΌΠΈΠ»ΠΈΡ ΠΎΡ 3 Π΄ΠΎ 20 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!"; if (strlen($name) < 3 or strlen($name) > 15) $error[] = "Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΠΌΡ ΠΎΡ 3 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!"; if (strlen($patronymic) < 3 or strlen($patronymic) > 25) $error[] = "Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΡΡΠ΅ΡΡΠ²ΠΎ ΠΎΡ 3 Π΄ΠΎ 25 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!"; if (!preg_match("/^(?:[a-z0-9]+(?:[-_.]?[a-z0-9]+)?@[a-z0-9_.-]+(?:\.?[a-z0-9]+)?\.[az]{2,5})$/i",trim($email))) $error[] = "Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ email!"; if (!$phone) $error[] = "Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°!"; if (!$address) $error[] = "ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π°Π΄ΡΠ΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ!"; if($_SESSION['img_captcha'] != strtolower($_POST['reg_captcha'])) $error[] = "ΠΠ΅Π²Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ!"; unset($_SESSION['img_captcha']); if (count($error)) { echo implode('<br />',$error); }else { $pass = md5($pass); $pass = strrev($pass); $pass = "9nm2rv8q".$pass."2yo6z"; $ip = $_SERVER['REMOTE_ADDR']; mysqli_query($link, "INSERT INTO reg_user(login,password,surname,name,patronymic,email,phone,address,datetime,ip) VALUES( '".$login."', '".$pass."', '".$surname."', '".$name."', '".$patronymic."', '".$email."', '".$phone."', '".$address."', NOW(), '".$ip."' )"); echo true; } } ?> And there is a script in which data validation takes place, as well as the output of a notification by ajax that the registration was successful.
$(document).ready(function() { $('#form_reg').validate( { // ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ rules:{ "reg_login":{ required:true, minlength:5, maxlength:15, remote: { type: "post", url: "/reg/check_login.php" } }, "reg_pass":{ required:true, minlength:7, maxlength:15 }, "reg_surname":{ required:true, minlength:3, maxlength:15 }, "reg_name":{ required:true, minlength:3, maxlength:15 }, "reg_patronymic":{ required:true, minlength:3, maxlength:25 }, "reg_email":{ required:true, email:true }, "reg_phone":{ required:true }, "reg_address":{ required:true }, "reg_captcha":{ required:true, remote: { type: "post", url: "/reg/check_captcha.php" } } }, // Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
ΠΏΡΠ°Π²ΠΈΠ» messages:{ "reg_login":{ required:"Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΠΎΠ³ΠΈΠ½!", minlength:"ΠΡ 5 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!", maxlength:"ΠΡ 5 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!", remote: "ΠΠΎΠ³ΠΈΠ½ Π·Π°Π½ΡΡ!" }, "reg_pass":{ required:"Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΠΠ°ΡΠΎΠ»Ρ!", minlength:"ΠΡ 7 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!", maxlength:"ΠΡ 7 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!" }, "reg_surname":{ required:"Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π²Π°ΡΡ Π€Π°ΠΌΠΈΠ»ΠΈΡ!", minlength:"ΠΡ 3 Π΄ΠΎ 20 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!", maxlength:"ΠΡ 3 Π΄ΠΎ 20 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!" }, "reg_name":{ required:"Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π²Π°ΡΠ΅ ΠΠΌΡ!", minlength:"ΠΡ 3 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!", maxlength:"ΠΡ 3 Π΄ΠΎ 15 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!" }, "reg_patronymic":{ required:"Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π²Π°ΡΠ΅ ΠΡΡΠ΅ΡΡΠ²ΠΎ!", minlength:"ΠΡ 3 Π΄ΠΎ 25 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!", maxlength:"ΠΡ 3 Π΄ΠΎ 25 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²!" }, "reg_email":{ required:"Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ²ΠΎΠΉ E-mail", email:"ΠΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ E-mail" }, "reg_phone":{ required:"Π£ΠΊΠ°ΠΆΠΈΡΠ΅ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°!" }, "reg_address":{ required:"ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π°Π΄ΡΠ΅Ρ Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ!" }, "reg_captcha":{ required:"ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ΄ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ!", remote: "ΠΠ΅ Π²Π΅ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ!" } }, submitHandler: function(form){ $(form).ajaxSubmit({ success: function(data) { if (data == true) { $("#block-form-registration").fadeOut(300,function() { $("#reg_message").addClass("reg_message_good").fadeIn(400).html("ΠΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ!"); $("#form_submit").hide(); }); } else { $("#reg_message").addClass("reg_message_error").fadeIn(400).html(data); } } }); } }); }); So, the script is connected (in the first listing you can see it, reg-val.js file), validation works fine, but when you click on the "registration" message, the agiax is not displayed, it only goes to the second listing file (handler_reg.php) and outputs to empty page number 1 ... In this case, the data from the form are successfully entered into the database !!! What could be the problem? I can't catch a mistake all day ...