0

Помогите, пожалуйста, разобраться с кодом, не могу понять почему не работает уведомления об успехе или не успехе сброса пароля переменная

Вот сам код страницы php

<main class="main-site">
    <div class="screen screen--login screen--forget">
      <div class="screen__content">
        <div class="block-login">
          <div class="login__text-reg mod--foreget">Вспомнили пароль? <a href="/login" class="link">Войти</a></div>
          <h1 class="page-heading1 heading--foreget">Забыли пароль?</h1>
          <div class="w-formw">
        &lt;?
        if(isset($_POST['do_reset'])) {
        $email = protect($_POST['remail']);
        $sql = $mysqli-&gt;query(&quot;SELECT * FROM users WHERE email = '$email'&quot;);
        $select_in = $sql-&gt;fetch_array();
        $email_inbase = $select_in['email'];



/* Здесь должна быть не успешная первая*/ if(empty($email)){ echo"<div data-clipboard-target='#wf-form-forget-form'>Вы не ввели адрес электронной почты</div>";}

/* Здесь вторая не успешная*/ elseif ($email_inbase !== $email) { echo "<div id='submit' data-clipboard-target='#wf-form-forget-form'>Адрес электронной почты у нас не зарегистрирован</div>"; }

/* Здесь третья не успешная*/           
        elseif(!verifMail($email)) { echo &quot;&lt;div id='submit' data-clipboard-target='#wf-form-forget-form'&gt;Введите корректный email адрес&lt;/div&gt;&quot;; }
        else {

/* Здесь четвертая не успешная*/ # Каптча if(!isset($_POST["capth"]) || $_POST["capth"] !== $_SESSION['captcha']) { echo err_msg("<div id='submit' data-clipboard-target='#wf-form-forget-form'>Антибот проверка (Captcha) не пройдена</div>"); }else{

        function gen($leight){

            $x = '';

            $str = &quot;qwertyuiopasdfghjkzxcvbnm1234567890ABCDEFGKMNVYU&quot;;

            for($i=0; $i&lt;$leight; $i++){
                $x .= substr($str, mt_rand(0, strlen($str)-1), 1);
            }

            return $x;
        }

        $mepas = gen(10);

        $mepas_md5 = md5($mepas);
        $sql = $mysqli-&gt;query(&quot;UPDATE users SET pass='$mepas_md5' WHERE email = '$email'&quot;);

        $mailtext = '&lt;div&gt;&lt;img src=&quot;assets/images/logo.svg&quot;&gt;&lt;/div&gt;
        &lt;br/&gt;
        Уважаемый участник - &lt;span style=&quot;color: #E77225; text-decoration: none;&quot;&gt;'.$email.'&lt;/span&gt;, вы заказали восстановление пароля.
        &lt;br/&gt;
        Так как у нас установлено шифрование паролей, мы не можем показать ваш старый пароль, поэтому специально для вас был сгенерирован новый.&lt;br&gt;&lt;br&gt;
        Ваш новый пароль - &lt;b&gt;&lt;span style=&quot;background: #388be3; color: #fff; text-decoration: none; padding: 0px 10px 0px 10px;&quot;&gt;'.$mepas.'&lt;/span&gt;&lt;/b&gt;
        &lt;br&gt;&lt;br&gt;
        Воспользоваться им вы можете при входе на сайт, с Уважением администрация &lt;b&gt;&lt;a href=&quot;http://'.$_SERVER['HTTP_HOST'].'&quot; style=&quot;color: #388be3; text-decoration: none;&quot;&gt;'.$nameSite.'&lt;/a&gt;&lt;/b&gt;
        &lt;br&gt;&lt;br&gt;
        --
        &lt;br&gt;
        &lt;span style=&quot;font-size: 75%&quot;&gt;Это сообщение отправлено вам автоматически, пожалуйста не отвечайте на него.
        &lt;br&gt;
        Если вам нужно связаться со службой поддержки наши контакты здесь &lt;a href=&quot;http://'.$_SERVER['HTTP_HOST'].'/about#tab2&quot; style=&quot;color: #388be3; text-decoration: none;&quot;&gt;контакты&lt;/a&gt;.
        &lt;br&gt;
        Если письмо отправлено вам по ошибке, просто проигнорируйте его.
        &lt;br&gt;
        Подробнее узнать о проекте и оформить подписку на новости вы можете посетив &lt;a href=&quot;http://'.$_SERVER['HTTP_HOST'].'&quot; style=&quot;color: #388be3; text-decoration: none;&quot;&gt;наш проект&lt;/a&gt;&lt;/span&gt;';
        $headers=&quot;Content-Type: text/html; charset=utf-8\n&quot;;
        $headers.=&quot;From: &quot;.$mail_project;
        mail($email, &quot;Восстановление пароля&quot;, $mailtext, $headers); {

          /* Здесь успешная*/ 
          echo &quot;&lt;div id='submit' data-clipboard-target='#wf-form-forget-form'&gt;Вам отправлено письмо с паролем&lt;/div&gt;&quot;;
        }
        }
        }
        }
        ?&gt;

        &lt;form action=&quot;&quot; method=&quot;POST&quot; id=&quot;form&quot; name=&quot;form&quot; class=&quot;form-login&quot;&gt;
          &lt;div class=&quot;wrap-input wrap--login&quot;&gt;
            &lt;label for=&quot;E-mail&quot;&gt;Укажите e-mail учетной записи&lt;/label&gt;
            &lt;input type=&quot;text&quot; class=&quot;input input--login w-input&quot; name=&quot;remail&quot; maxlength=&quot;40&quot; placeholder=&quot;&lt;?=$mail_project?&gt;&quot;&gt;&lt;/div&gt;
            &lt;div class=&quot;wrap-input wrap--login&quot;&gt;
                &lt;label for=&quot;login&quot;&gt;
                  &lt;img src=&quot;/captcha.php?size=80/40/20&quot;  border=&quot;0&quot; class=&quot;img-capth&quot;/&gt; Введите Captcha &lt;/label&gt;
                &lt;input maxlength=&quot;5&quot; type=&quot;textt&quot; name=&quot;capth&quot; id=&quot;captcha&quot; class=&quot;input input--login w-input&quot; placeholder=&quot;12345&quot;&gt;
            &lt;/div&gt;
          &lt;input type=&quot;submit&quot; value=&quot;Восстановить&quot; class=&quot;button w-button&quot; name=&quot;do_reset&quot; id=&quot;Submit&quot;&gt;
        &lt;/form&gt;

      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&quot;login__wrap-bg&quot;&gt;&lt;/div&gt;
&lt;/div&gt;

</main>

/* Ниже сам скрипт который должен отвечать за успех или не успех и выводить соответствующие сообщение*/

  <script>
  function notyOpen(message, type, timeout, url, redirect)
  {
      new Noty({
          type: type,
          theme: 'metroui',
          text: message,
          timeout: timeout,
          layout: &quot;topLeft&quot;,
          closeWith: ['click']
      }).show();

      if(timeout == false)  setTimeout(&quot;location='&quot;+url+&quot;';&quot;, redirect);

      return false;
  }

  $(&quot;#wf-form-forget-form&quot;).on(&quot;submit&quot;, function(){

      var mail = $('#email').val();

      $.post(

          '/?request=recovery', {
              doctype: true,
              mail: mail
          }, function(data) {

              if (data.result == 'OK') notyOpen(data.message, 'success', 4000, '', false);
              else notyOpen(data.message, 'error', 4000, '', false);

          }, 'json');

      return false;
  });
  &lt;/script&gt;

помогите разобраться с этой проблемой!

если все правильно завязать должно получиться на выходе так если все правильно завязать должно получиться на выходе так

  • У Вас просто мешанина в коде, с рядом неопределенных переменных, которые непонятно откуда берутся, лишними фигурными скобками и JS кодом, который не имеет отношения к приведенному выше HTML формы. – Simon Oct 04 '23 at 08:56
  • Код функционирует все отлично! единственное нужно как то встроить в переменную вывод уведомлений от сайта определенным скриптом что в низу указан! если можешь помоги пожалуйста! – Маргарита Сергеева Oct 04 '23 at 09:03
  • Что именно функционирует? Тот скрипт что внизу, не имеет особого отношения к коду приведенному выше. В приведенном коде нет элемента с таким ID wf-form-forget-form, как и нет инпута с ID email, а сабмит формы вызывает какую-то неизвестную функцию contact() на клик onclick="contact();" – Simon Oct 04 '23 at 09:09
  • у вас 8 ошибок в слове "проблема" – Ипатьев Oct 04 '23 at 10:50
  • Ну я и обратилась к вам за помощью, помогите пожалуйста! – Маргарита Сергеева Oct 04 '23 at 11:02
  • Для начала надо убрать SQL инъекции. Нет смысла делать хоть какую-то защиту, если кто угодно сможет авторизоваться без пароля, и заодно увести пароли всех остальных пользователей. – Ипатьев Oct 04 '23 at 13:39
  • Где??? подскажи пожалуйста! – Маргарита Сергеева Oct 04 '23 at 13:43
  • $mysqli->query("SELECT * FROM users WHERE email = '$email'");, 2. $mysqli->query("UPDATE users SET pass='$mepas_md5' WHERE email = '$email'");
  • – Simon Oct 04 '23 at 13:44
  • Так в общем мне и ни кто не поможет!(((( плакать охота! – Маргарита Сергеева Oct 06 '23 at 02:44