@Pyhon3x

Почему в БД записывает неправильное значение?

Вот мой код:
<?php
//Require-скрипты
  require 'connect.php';
  require 'Log_Sys.php';

//Переменные, и другая ерунда...
  $server_Code = random_int(0, 9999999999);
  $client_Code = random_int(0, 9999999999);
  $vereficationCode = random_int(0, 999999);
  var_dump($server_Code);
  var_dump($client_Code);
  $session = $server_Code + $client_Code;
  var_dump($session);

  $email = $_POST['email'];
  $UN = $_POST['User-Name'];
  $psw = $_POST['psw'];
  if ($psw == null AND $email == null) {
    echo "Нет данных";
    http_response_code(400);
    exit();
  };
  $psw_repeat = $_POST['psw_repeat'];
//Проверки
  if (strlen($psw) < 8) {
    echo "Пароль слишком короткий!";
    http_response_code(400);
  } else if (!preg_match("#[0-9]+#", $psw)) {
    echo "Пароль должен содержать хотя-бы одну цифру!";
    http_response_code(400);
  } else {
    //Проверка на корекстность E-Mail
    if (filter_var($email, FILTER_VALIDATE_EMAIL)){
      //Проверка на одинаковость паролей
      if ($psw == $psw_repeat) {
        $psw_hash = password_hash($_POST['psw'], PASSWORD_DEFAULT);
        $sql = 'SELECT * FROM `Users` WHERE `Email`=:email';
        $query = $pdo->prepare($sql);
        $query->execute(["email" => $email]);
        $row = $query->fetch(PDO::FETCH_OBJ);

        var_dump($row);

        //Такой E-Mail зарегестрирован?
      if ($row->Email != $email) {
          $sql = 'INSERT INTO `Users`(`Email`, `PSW`, `User_Name`, `session`, `server_Code`) VALUES (:email, :psw, :UN, :session, :server_Code)';
          $query = $pdo->prepare($sql);
          $query->execute([
            "email" => $email,
            "psw" => $psw_hash,
            "UN" => $UN,
            "session" => $session,
            "server_Code" => $server_Code
          ]);
          var_dump($server_Code);
          session_start();
          setcookie("session_id", $client_Code, '/AUTH');
          $_SESSION['email'] = $email;
          $_SESSION['UN'] = $UN;
          $_SESSION['vereficationCode'] = $vereficationCode;

          $to  = "<".$email.">" ;

          $subject = "Подтвердите Почту";

          $message = '
            <h1 align="center">Привет , Это TS</h1>
            <h3 align="center">|!| Если вы не проводили регестрацию просто проигнорируйте это сообщение |!|</h3>
            <p align="center">Вы хотели зарегистрироваться на нашем сайте, для это-го перейдите на <a href="test-server.tsecret.net/AUTH-2/verificatoinEmail.php?Code='.$vereficationCode.'">ЭТУ</a> страницу и введите Verification Code: '.$vereficationCode.'<p>
          ';

          $headers  = "Content-type: text/html; charset=utf-8\r\n";
          $headers .= "From: Центер Аккаунтов TSecret <Account-Center@tsecret.net>\r\n";

          mail($to, $subject, $message, $headers);

        } else if($row->Email == $email) {
          echo "<h1 align='center'>Неа, надо другой E-Mail. <br>Такой уже зарегистрирован!</h1>";
        }
    } else {
      echo "<h1 align='center'>А теперь попробуйте написать два ОДИНАКОВЫХ пароля</h1>";
    }
    } else {
    echo "<h1 align='center'>Email ".$email." некорректен!";
    http_response_code(400);
    }
  }
?>

Var_dump показывает что переменная $server_Code с таким значением 6086928500, но в БД записывает 2147483647. Почему так и как это исправить?
Буду Благодарен за помощь!
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час