Задать вопрос
  • Как бороться с неопределёнными переменными?

    @Alex_87 Автор вопроса
    Fudo Tsukiko, Не сработало! Я заметил одну вещь, не сразу обратил внимание, ошибка появляется уже на этапе загрузки(отображения) страницы в браузере. То есть, не при отправки формы, нажатием кнопки, что странно. Ведь сервер ещё не получил данные методом POST. И обратите внимание на этот код, на value полей. Мне кажется ошибка именно из-за этого:
    <div class="popupcontact">
                <div class="wrapper">
                     <div class="popupcontacttitle" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>
                     <form id="form" method="post" action="form.php" class="popupform">
                         <input type="text" placeholder="Ваше имя" id="name" name="name"  value="<?=$_POST['name']?>"  />
    
                         <input type="e-mail" placeholder="Ваша почта" id="email" name="email"  value="<?=$_POST['email']?>" />
    
                         <input type="text" placeholder="Ваш Skype"  name="skype"  value="<?=$_POST['skype']?>" />
                         <textarea name="sms" cols="5" rows="10" placeholder="Ваше сообщение" value="<?=$_POST['sms']?>"></textarea>
    
                         <div>
                             <button type="submit" id="sbm">Оставьте заявку</button>
                         </div>
                     </form>
    
                  </div>
                </div>
  • Как бороться с неопределёнными переменными?

    @Alex_87 Автор вопроса
    Fudo Tsukiko, Спасибо! Только проблема в том, что поле skype заполнять не обязательно. Я забыл вам об этом сказать. А значит, не получиться поставить условие на это поле и ошибка всё равно будет!
  • Как бороться с неопределёнными переменными?

    @Alex_87 Автор вопроса
    Подскажите пожалуйста, мне посоветовали использовать следующий код
    <?=$_POST['name'] ?? '';?>
    Как мне его сюда вставить?
    error_reporting(0);
                     if(!empty($_POST['name'])){
                         $to = 'a.kovalkovsky@gmail.com';
                         $tema = 'Новое сообщение';
                         $name = strip_tags(trim($_POST['name']));
                         $email = strip_tags(trim($_POST['email']));
                         $skype = strip_tags(trim($_POST['skype']));
                         $sms = strip_tags(trim($_POST['sms']));
                         $message = "Имя пользователя: ".$name."\r\n";
                         $message .= "Почта: ".$email."\r\n";
                         $message .= "Skype: ".$skype."\r\n";
                         $message .= "Сообщение: ".$sms."\r\n";
                         $error = false;
                         $err = array('email' => '', 'name' => '', 'sms' => '');
    
                         if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)){
                  $err['email'] = 'Вы ввели не корректный email';
            $error = true;
             }
                         if (empty($name)){
                  $err['name'] = 'Вы не ввели имя';
            $error = true;
             }
    
    
                        // if(!$error){
                            $tema = "=?utf-8?B?".base64_encode($subject)."?=";
                            $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n";
                            mail($to, $tema, $message, $headers);
                           // if(mail($to, $subject, $sms, $headers)){
                               //  header('Location: /otzivi.php');
                           // }
                        // }
                     }
  • Как бороться с неопределёнными переменными?

    @Alex_87 Автор вопроса
    Вставьте пожалуйста свои код <?=$_POST['name'] ?? '';?> в мой! Покажите как правильно...
  • Как бороться с неопределёнными переменными?

    @Alex_87 Автор вопроса
    Так он у меня почему то не сработал. В коде он есть! Почему не работает?
    error_reporting(0);
                     if(!empty($_POST['name'])){
                         $to = 'a.kovalkovsky@gmail.com';
                         $tema = 'Новое сообщение';
                         $name = strip_tags(trim($_POST['name']));
                         $email = strip_tags(trim($_POST['email']));
                         $skype = strip_tags(trim($_POST['skype']));
                         $sms = strip_tags(trim($_POST['sms']));
                         $message = "Имя пользователя: ".$name."\r\n";
                         $message .= "Почта: ".$email."\r\n";
                         $message .= "Skype: ".$skype."\r\n";
                         $message .= "Сообщение: ".$sms."\r\n";
                         $error = false;
                         $err = array('email' => '', 'name' => '', 'sms' => '');
    
                         if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)){
                  $err['email'] = 'Вы ввели не корректный email';
            $error = true;
             }
                         if (empty($name)){
                  $err['name'] = 'Вы не ввели имя';
            $error = true;
             }
    
    
                        // if(!$error){
                            $tema = "=?utf-8?B?".base64_encode($subject)."?=";
                            $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n";
                            mail($to, $tema, $message, $headers);
                           // if(mail($to, $subject, $sms, $headers)){
                               //  header('Location: /otzivi.php');
                           // }
                        // }
                     }
  • Как бороться с неопределёнными переменными?

    @Alex_87 Автор вопроса
    Артем Ефимов, мне этот синтаксис немного не знаком, с 2 знаками вопроса. Это тернарный оператор, как я понимаю... Вставьте пожалуйста это в код, чтобы было видно...
  • Как бороться с неопределёнными переменными?

    @Alex_87 Автор вопроса
    verdex,
    Код обработчика формы:

    error_reporting(0);
                     if(!empty($_POST['name'])){
                         $to = 'a.kovalkovsky@gmail.com';
                         $tema = 'Новое сообщение';
                         $name = strip_tags(trim($_POST['name']));
                         $email = strip_tags(trim($_POST['email']));
                         $skype = strip_tags(trim($_POST['skype']));
                         $sms = strip_tags(trim($_POST['sms']));
                         $message = "Имя пользователя: ".$name."\r\n";
                         $message .= "Почта: ".$email."\r\n";
                         $message .= "Skype: ".$skype."\r\n";
                         $message .= "Сообщение: ".$sms."\r\n";
                         $error = false;
                         $err = array('email' => '', 'name' => '', 'sms' => '');
    
                         if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)){
    		          $err['email'] = 'Вы ввели не корректный email';
    			  $error = true;
    		     }
                         if (empty($name)){
    		          $err['name'] = 'Вы не ввели имя';
    			  $error = true;
    		     }
    
    
                        // if(!$error){
                            $tema = "=?utf-8?B?".base64_encode($subject)."?=";
                            $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n";
                            mail($to, $tema, $message, $headers);
                           // if(mail($to, $subject, $sms, $headers)){
                               //  header('Location: /otzivi.php');
                           // }
                        // }
                     }


    Код формы:

    <div class="popupcontact">
                <div class="wrapper">
                     <div class="popupcontacttitle" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>
                     <form id="form" method="post" action="form.php" class="popupform">
                         <input type="text" placeholder="Ваше имя" id="name" name="name"  value="<?=$_POST['name']?>"  />
    
                         <input type="e-mail" placeholder="Ваша почта" id="email" name="email"  value="<?=$_POST['email']?>" />
    
                         <input type="text" placeholder="Ваш Skype"  name="skype"  value="<?=$_POST['skype']?>" />
                         <textarea name="sms" cols="5" rows="10" placeholder="Ваше сообщение" value="<?=$_POST['sms']?>"></textarea>
    
                         <div>
                             <button type="submit" id="sbm">Оставьте заявку</button>
                         </div>
                     </form>
    
                  </div>
                </div>
  • Элемент пропадает под элемент с position:absolute?

    @Alex_87 Автор вопроса
    Дмитрий, как jsfiddle настроить на less?
  • Элемент пропадает под элемент с position:absolute?

    @Alex_87 Автор вопроса
    у нижнего элемента нет poisition. К тому же, он его тупо поставит выше первого элемента, а мне нужно, чтобы он встал вниз
  • Элемент пропадает под элемент с position:absolute?

    @Alex_87 Автор вопроса
    Антон, как less подключить в jsfiddle?
  • Элемент пропадает под элемент с position:absolute?

    @Alex_87 Автор вопроса
    Антон, у нижнего элемента нет poisition. К тому же, он его тупо поставит выше первого элемента, а мне нужно, чтобы он встал вниз
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    iamevg_, я уже объяснял что вкоде есть внешние скрипты. Я не знаю как их в песочницы подключать!
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    ThunderCat, Прикладная математика! А я надеялся, что вы обычный человек)) Ну, теперь понятно, как у вас так ловко получается) ... Остались вопросы. Последние...
    Я не могу убрать блок, поскольку это часть сайта. К тому же, кроме этого блока подключается overlay(тёмный фон) А при повторном нажатии на кнопку на странице 'Отправить заявку' появляется не модальное окно с формой, а этот же эдемент
    <div class="popupcontacttitle" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>

    Я полагаю, что как решение может быть redirect на эту же страницу сразу после alert('Спасибо'); Единственное, это не должно быть типа header('Location: /otzivi.php'); а что-то вроде... header('Location: /эта же страница(без указания названия, как action="").php'); Я пробовал избавиться от них вот этими строчками
    $('#about').css( "display"," none" );
    $('.pop').css( "display"," none" );
    $('.overlay').css( "display"," none" );

    но я просто скрыл их... При повторном вызове формы с модальным окно, вообще ничего не происходит. Поэтому, мне нужен код перезагрузки браузера после alert. ... Странно, почему так происходит....
    Я нашёл в сети и применил, вместо 3 строчек, следующий код:
    location.reload();
    после alert(); И получилось) Единственное, что хочу проверить, так это, смог ли я отправить методом POST заполненные поля. Я просто здесь этого не вижу. Не пользовался раньше так консолью, как в эти дни. Подскажите... Я увидел только это:
    59d97b7e42712720921979.png59d97c7dd074d555487626.png59d97b8b83e94256231736.png
    Второе... Я никак не могу понять, почему не работают ошибки на пустые поля, которые прописаны в form.php Я не могу проверить, работает ли вообще функция отправки почты, поскольку нахожусь на локальном...
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    ThunderCat, ОГРОМНОЕ ВАМ СПАСИБО!!!! Я только понять не могу... Как это убрать? Да и зачем это вообще? Это появляется после того, как срабатывает alert('Спасибо!');
    И зачем нужен ещё один файл - jquery.min,js? И как вы поняли, что он нужен?
    59d96454d2212947915000.png
    И скажите пожалуйста, какую литературу, вы можете посоветовать? Как вы учились?
    P.S. Код другой, поскольку я специально убрал всё лишнее, чтобы можно было показывать!
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    ThunderCat, всё, что выдало...
    59d9500bbb1c6917857861.png
    Прошу, взгляните на код: https://yadi.sk/d/GsntnfvA3NZKDs
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    ThunderCat, Никаких ошибок консоль не выдаёт!
    Мой вариант: При пустых полях, нажав кнопку, выводит alert. То есть минует условие, не выдавая border
    $(document).ready(function() {
        $( document ).on('submit', 'form', function(event) {
            event.preventDefault();
    
             if($('#name').val()==""){$('#name').css( "outline","red" ); valid = false; return valid;}
             if($('#email').val()==""){$('#email').css( "outline","red" ); valid = false; return valid;}
    
            $.ajax({
                type: "POST",
                url: "form.php",
                data: $(this).serialize()
            }).done(function() { 
                alert('Спасибо');
            });
            return false;
        });
      });

    Ваш вариант: При нажатии кнопки, при тех же пустых полях полях, страница перезагружается! А это - ошибка! Этого не должно быть вообще!
    $(document).ready(function () {
        $('#form').on('submit', function(e){
             e.preventDefault();
             var sub = true;
             if($('#name').val()==""){$('#name').css( "outline","red" ); sub=false;}
             if($('#email').val()==""){$('#email').css( "outline","red" ); sub=false;}
             if(sub)$('#form').submit();
             $.ajax({
                type: "POST",
                url: "form.php",
                data: $(this).serialize()
            }).done(function() {
                alert('Спасибо');
            });
            return false;
        });
    });
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    ThunderCat, к сожалению не работает... Я пробовал два варианта!
    Первый
    $(document).ready(function() {
        $( document ).on('submit', 'form', function(event) {
            event.preventDefault();
    
             if($('#name').val()==""){$('#name').css( "outline","red" ); valid = false; return valid;}
             if($('#email').val()==""){$('#email').css( "outline","red" ); valid = false; return valid;}
    
            $.ajax({
                type: "POST",
                url: "form.php",
                data: $(this).serialize()
            }).done(function() { 
                alert('Спасибо');
            });
            return false;
        });
      });

    Второй (ваш)
    $(document).ready(function () {
        $('#former').on('submit', function(e){
             e.preventDefault();
             var sub = true;
             if($('#name').val()==""){$('#name').css( "outline","red" ); sub=false;}
             if($('#email').val()==""){$('#email').css( "outline","red" ); sub=false;}
             if(sub)$('#former').submit();
        })
    })
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    Подскажите пожалуйста, как это написать?
    Мне нужно:
    if(если поле name со значением email == ""){
    назначить этому полю border(а лучше outline) в 1px solid #ff0000;
    }
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    Я не разбираюсь в этом так, как вы! Я не ленив, я просто не знаю что вбивать! Думайте мне хочется часто обращаться на форум? Всегда найдётся какой - нибудь умник, который захочет съязвить. И это пол-беды! Хуже, когда просто съязвит и не оставит никакого ответа! Но вернусь к вопросу.... Вы меня не поняли, постараюсь объяснить по другому!
    Мне нужно:
    if(если поле name со значением email == ""){
    назначить этому полю border(а лучше outline) в 1px solid #ff0000;
    }
    <div class="contact">
                <div class="wrapper">
                     <div class="contact-title" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>
                     <form id="former" method="post" >
                         <input type="text" placeholder="Ваше имя" id="name" name="name" value="<?=$_POST['name']?>"  />
                            <p class="err n" style="color:red"><?=$err['name']?></p>
                         <input type="e-mail" placeholder="Ваша почта" id="email" name="email" value="<?=$_POST['email']?>" />
                            <p class="err e" style="color:red"><?=$err['email']?></p>
                         <input type="text" placeholder="Ваш Skype"  name="skype" value="<?=$_POST['skype']?>" />
                         <textarea name="sms" cols="30" rows="10" placeholder="Ваше сообщение" value="<?=$_POST['sms']?>"></textarea>
    
                         <div>
                            <button>Оставить заявку</button>
                         </div>
                     </form>
                  </div>
             </div>
  • Как правильно прописать стиль для js элемента?

    @Alex_87 Автор вопроса
    iamevg_, Так подскажите как правильно формулировать свой вопрос, я что против?)) Я что касается оформления, то не судите строго. Каждый из вас просит меня оформлять по разному. Кто картинкой, а кто кодом!