Подскажите пожалуйста

Всем приветик, помогите пожалуйста с кодом. Не работает :pleading_face:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="/css/style.css">
</head>
<body>
    <!--Форма регистрации-->
    <div class="container mt-4">
        <h1>Login</h1>
        <form action="check.php" method="POST">
            <input type="text" class="form-control" name="login" id="login" placeholder="E-mail"><br>
            <input type="password" class="form-control" name="pass" id="pass" placeholder="Password"><br>
            <input type="password" class="form-control" name="reppass" id="reppass" placeholder="Repeat password"><br>
            <button class="btn-succes" type="submit">Registration</button>
        </form>
    </div>
</body> 
</html>
<?php
  $error='';
  $login = filter_var(trim($_POST['login']), FILTER_SANITIZE_STRING);
  $pass = filter_var(trim($_POST['pass']), FILTER_SANITIZE_STRING);
  $reppass = filter_var(trim($_POST['reppass']), FILTER_SANITIZE_STRING);
 
  if(mb_strlen($login) < 5 || mb_strlen($login) > 90) {
    $error=$error."Invalid length from5 to 90 <br/>";
  }
  if(mb_strlen($pass) < 6 || mb_strlen($pass) > 20) {
    $error=$error."Invalid password length (from 6 to 20 characters) </br>";
  }
  if($pass != $reppass) {
    $error=$error"Passwords don't match </br>";
  } 
  if ($error != ''){
  echo 'U have err:<br/>'.$error;
  exit();
  }else{
  echo 'All ok';
  }

  $pass = md5($pass."sdadssafaasd");

  $mysql = new mysqli('localhost', 'root', 'root', 'register-bd',);
  $mysql->query("INSERT INTO `users` (`login`, `pass`) VALUES('$login', '$pass')");
  
  $mysql->close(); 
  
  header('Location: /');
?>

Получиться в итоге что должно?

Ну … надо чтобы работал. Очевидно же. :sweat_smile:

Сравнение паролей ошибочное

А отладчика там нету чтоли?? не посмотреть что в переменных записано??

TC в блакноте ваяет код, там нет отладки :clkolrofl2:

а проверяет видимо на глаз?? Сейчас даже в хроме же можно посмотреть код и налету его отредактировать.

А проверяют люди на форумах, где постится топик

Формулировка “сейчас даже…” подразумевает, то некоторое время назад нельзя было.
когда начинаешь учить что-то и ищешь мануал в гугле, то на выдачу попадают старые самые просматриваемые туториалы, которые писались под “те” реалии. От и получается, берешь оттуда код, он у тебя не работает, спрашиваешь ответ где-то, и получаешь ответ “лашара, так никто не делает, используй последний “@#$ 9.0” там все реализовано”. А мне то откуда знать как делают если я “без года неделю” познаю новое :slight_smile:

Не понял к чему вы, но я имел ввиду что когда садишься изучать язык то наверное первое что должно приходить в голову “а как можно проверить правильность работы?” И первые же мануалы наверняка знакомят с каким нибудь отладчиком. Я понятия не имею как сейчас учатся современные специалисты. У меня помню гугла не было. Только суровый досявый мануал на аглийском и хм… отладчик.
Сейчас видимо по принципу если в первой строке не нашлось решения задач - создавай тему на всех форумах. Если на форуме не дали готового решения - бросай среду разработки так как она не способна решить задачу сама.

это да, там точка операции конкатенации пропущена но исправить лучше в духе остальных ошибок - вот так исправить:

    $error=$error."Passwords don't match </br>";

Автор же все ошибки в одну строчку собирает.

WriteLn’ом отлаживал, Debug.Print’ом отлажую и так-же буду отлаживать (с) Я

1 лайк

Я тоже :slight_smile:


Ну а спрашивать на форумах тоже уметь надо. Например, хотя бы описывать что должно произойти и что происходит на самом деле. И в идеале еще рассказать о своих попытках решить проблему.

Примерно это и спросил. Только в более краткой форме ))