За последние 24 часа нас посетили 34995 программистов и 1695 роботов. Сейчас ищут 1013 программистов ...

Почему пользователя не заносит в базу данных

Тема в разделе "PHP для новичков", создана пользователем riaron, 23 фев 2015.

  1. riaron

    riaron Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    Вот весь код .
    Код (Text):
    1.  
    2. <?php
    3.   $link=mysqli_connect("localhost", 'root','password','shopdvd');
    4.  
    5.   if(isset($_POST['submit']))
    6.   {
    7.     $err = array();
    8.  
    9.     // проверяем логин
    10.     if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login']))
    11.     {
    12.         $err[] = "login must contain only letters and numbers";
    13.     }
    14.  
    15.     if(strlen($_POST['login']) < 3 or strlen($_POST['login']) > 30)
    16.     {
    17.         $err[] = "login must contain between 3 and 30 caracter";
    18.     }
    19.     // проверяем пароль
    20.     if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['password']))
    21.     {
    22.         $err[] = "password must contain only letters and numbers";
    23.     }
    24.  
    25.     if(strlen($_POST['password']) < 3 or strlen($_POST['password']) > 30)
    26.     {
    27.         $err[] = "password must contain between 3 and 30 caracter";
    28.     }
    29.      if(mysqli_real_escape_string($link, $_POST['password'])==0){
    30.       $err[] ="Input autorization data";
    31.     }
    32.    
    33.  
    34.     // проверяем, не сущестует ли пользователя с таким именем
    35.     if(mysqli_real_escape_string($link, $_POST['login'])==0){
    36.       $query=0;
    37.     }else{
    38.       $query = mysqli_query($link, "SELECT COUNT(user_id) FROM users WHERE user_login='".mysqli_real_escape_string($link, $_POST['login'])."'");
    39.     }
    40.    
    41.     if($query==0){
    42.       $err[] ="Input autorization data";
    43.     }else{
    44.       if(mysqli_num_rows($query) > 0)
    45.       {
    46.         $err[] = "user  exists";
    47.       }
    48.     }
    49.    
    50.     // Если нет ошибок, то добавляем в БД нового пользователя
    51.     if(count($err) == 0)
    52.     {
    53.  
    54.         $login = $_POST['login'];
    55.  
    56.         //Убераем лишние пробелы и делаем двойное шифрование
    57.         $password = md5(md5(trim($_POST['password'])));
    58.  
    59.         mysqli_query($link,"INSERT INTO users SET user_login='".$login."', user_password='".$password."'");
    60.     }
    61.     else
    62.     {
    63.         print "<b>registration errors:</b><br>";
    64.         foreach($err AS $error)
    65.         {
    66.             print $error."<br>";
    67.         }
    68.     }
    69.   }
    70. ?>
    71. <form method="POST">
    72. login <input name="login" type="text"><br>
    73. password <input name="password" type="password"><br>
    74. <input name="submit" type="submit" value="Get registration">
    75. </form>
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. riaron

    riaron Активный пользователь

    С нами с:
    1 окт 2014
    Сообщения:
    247
    Симпатии:
    4
    ошибку нашел глюк в
    Код (Text):
    1.  
    2. if(mysqli_real_escape_string($link, $_POST['password'])==0){
    3.       $err[] ="Input autorization data";
    4. }