За последние 24 часа нас посетил 62741 программист и 1609 роботов. Сейчас ищут 939 программистов ...

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

Тема в разделе "PHP для новичков", создана пользователем Алексей87К, 19 окт 2017.

Метки:
  1. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
  2. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    В одной форме не помогло. Две формы были связанны одним кодом. Почему могло не сработать?
    HTML:
    1. <div class="contact">
    2.             <div class="wrapper">
    3.                  <div class="contact-title" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>
    4.                  <form id="mainform" method="post" action="form.php">
    5.                      <input type="text" placeholder="Ваше имя" id="title" name="name" value="<?=$name?>"  />
    6.  
    7.                      <input type="email" placeholder="Ваша почта" id="mail" name="email" value="<?=$email?>" />
    8.  
    9.                      <input type="text" placeholder="Ваш Skype"  name="skype" value="<?=$skype?>" />
    10.                      <textarea name="sms" cols="30" rows="10" placeholder="Ваше сообщение" value="<?=$sms?>"></textarea>
    11.  
    12.                      <div>
    13.                         <button type="submit" id="sbmmain">Оставить заявку</button>
    14.                      </div>
    15.                  </form>
    16.               </div>
    17.          </div>
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В скрипте, в котором находится эта форма, не определены эти переменные
     
  4. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    Вы были правы, и я подключил файл к другой странице формы...И теперь всё стало наоборот. Теперь в модальном окне формы ошибка, а у формы на странице, нет!
     
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Отлично! А что, если подключить файл к обоим страницам?
     
  6. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    К обоим и подключил. Вот в чём прикол!!!
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    няни обслужили, а он до сих пор не прочел содержимое ошибки. Браво господа.
     
  8. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Это бестолку ((((
     
  9. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    Наверное он не хочет читать то что вы ему советуете, как и я не хотел хотя я читал. Он хочет чтобы все было легко иногда надо и потрудится чтобы все работало как надо. Мой совет почитай мануал, а еще пробей эту ошибку в интернете и посмотри как ее решают.
     
    #34 _ne_scaju_, 20 окт 2017
    Последнее редактирование: 20 окт 2017
  10. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    Послушайте! Я её наизусть знаю! По этому вопросу я не одну тему уже писал. И не на одном форуме. 2 два уже обсуждаем. Не говорите того, чего не знаете!
     
  11. Griffter

    Griffter Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    92
    Симпатии:
    25
    Что там можно обсуждать 2 дня? Ошибка решается за 5 минут... вам уже всё рассказали, что нужно сделать.
     
  12. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    Показываю код файла v_index.php, чтобы вы видели, что я сделал так, как вы говорили. P.S. Код обработчика формы находиться в form.php Этот файл подключён в коде ниже.
    HTML:
    1. <?php
    2. include_once('functions.php');
    3. include_once('form.php');
    4. ?>
    5. <!DOCTYPE html>
    6. <html lang="ru">
    7.     <head>
    8.  
    9.         <meta charset="utf-8">
    10.         <meta name="viewport" content="width=device-width">
    11.         <title><?=$title?></title>
    12.         <link rel="stylesheet" href="css/styles.css">
    13.         <script src="https://use.fontawesome.com/62a9cb8dab.js"></script>
    14.     </head>
    15.     <body class="site">
    16.  
    17.  
    18.        <div class="modal"></div>
    19.        <div class="overlay"></div>
    20.  
    21.           <div class="popupcontact">
    22.             <div class="wrapper">
    23.                  <div class="popupcontacttitle" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>
    24.                  <form id="form" method="post" action="form.php" class="popupform">
    25.                      <input type="text" placeholder="Ваше имя" id="name" name="name"  value="<?=$name?>"  />
    26.  
    27.                      <input type="email" placeholder="Ваша почта" id="email" name="email"  value="<?=$email?>" />
    28.  
    29.                      <input type="text" placeholder="Ваш Skype"  name="skype"  value="<?=$skype?>" />
    30.                      <textarea name="sms" cols="5" rows="10" placeholder="Ваше сообщение" value="<?=$sms?>"></textarea>
    31.  
    32.                      <div>
    33.                          <button type="submit" id="sbm">Оставьте заявку</button>
    34.                      </div>
    35.                  </form>
    36.  
    37.               </div>
    38.             </div>
    Результат:
    www.png
    --- Добавлено ---
    Это сейчас, если я столкнусь, я решу за минуту. Потому что, уже понимаю ошибку. Просто на локальном, у меня не было этих ошибок. Выявились, когда залил на хост...
     
  13. Griffter

    Griffter Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    92
    Симпатии:
    25
    Даю процентов 90, что на локалке тоже были эти ошибки, просто они у вас были отключены.
    Вот скиньте все 3 файла, ради интереса сам проверю как они работают.
     
  14. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    v_index.php

    HTML:
    1. <?php
    2. include_once('functions.php');
    3. include_once('form.php');
    4. ?>
    5. <!DOCTYPE html>
    6. <html lang="ru">
    7.     <head>
    8.  
    9.         <meta charset="utf-8">
    10.         <meta name="viewport" content="width=device-width">
    11.         <title><?=$title?></title>
    12.         <link rel="stylesheet" href="css/styles.css">
    13.         <script src="https://use.fontawesome.com/62a9cb8dab.js"></script>
    14.     </head>
    15.     <body class="site">
    16.  
    17.  
    18.        <div class="modal"></div>
    19.        <div class="overlay"></div>
    20.  
    21.           <div class="popupcontact">
    22.             <div class="wrapper">
    23.                  <div class="popupcontacttitle" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>
    24.                  <form id="form" method="post" action="form.php" class="popupform">
    25.                      <input type="text" placeholder="Ваше имя" id="name" name="name"  value="<?=$name?>"  />
    26.  
    27.                      <input type="email" placeholder="Ваша почта" id="email" name="email"  value="<?=$email?>" />
    28.  
    29.                      <input type="text" placeholder="Ваш Skype"  name="skype"  value="<?=$skype?>" />
    30.                      <textarea name="sms" cols="5" rows="10" placeholder="Ваше сообщение" value="<?=$sms?>"></textarea>
    31.  
    32.                      <div>
    33.                          <button type="submit" id="sbm">Оставьте заявку</button>
    34.                      </div>
    35.                  </form>
    36.  
    37.               </div>
    38.             </div>
    v_main.php

    HTML:
    1. <?php
    2. include_once('functions.php');
    3. include_once('form.php');
    4. ?>
    5.  
    6. <div class="contact">
    7.             <div class="wrapper">
    8.                  <div class="contact-title" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div>
    9.                  <form id="mainform" method="post" action="form.php">
    10.                      <input type="text" placeholder="Ваше имя" id="title" name="name" value="<?=$name?>"  />
    11.  
    12.                      <input type="email" placeholder="Ваша почта" id="mail" name="email" value="<?=$email?>" />
    13.  
    14.                      <input type="text" placeholder="Ваш Skype"  name="skype" value="<?=$skype?>" />
    15.                      <textarea name="sms" cols="30" rows="10" placeholder="Ваше сообщение" value="<?=$sms?>"></textarea>
    16.  
    17.                      <div>
    18.                         <button type="submit" id="sbmmain">Оставить заявку</button>
    19.                      </div>
    20.                  </form>
    21.               </div>
    22.          </div>
    index.php

    HTML:
    1.  
    2. <?php
    3. include_once('functions.php');
    4. ?>
    5.  
    6.         <?php
    7.        $inner = template('./inner/v_main.php', array());
    8.        echo template('./outer/v_index.php', array('title' => 'Главная', 'content' => $inner));
    9.  
    functions.php

    PHP:
    1. <?php
    2. function template($filename, $vars = array()){
    3.     extract($vars);
    4.     ob_start();
    5.     include($filename);
    6.     return ob_get_clean();
    7. }
     
  15. Griffter

    Griffter Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    92
    Симпатии:
    25
    Так а сам файл обработки формы form.php ?
     
  16. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    Забыл) Скидываю!

    form.php

    HTML:
    1. <?php
    2. include_once('functions.php');
    3. /*
    4.  
    5.    ФИЛТРАЦИЯ ! ! !
    6.  
    7. */
    8. $to = 'a.kov@gmail.com';
    9.                     $tema = 'Новое сообщение';
    10.                     $name = '';
    11.                     $email = '';
    12.                     $skype = '';
    13.                     $sms = '';
    14.                     $subject = '';
    15.                     $from = '';
    16.                     if(!empty($_POST['name'])){$name = strip_tags(trim($_POST['name']));}
    17.                     if(!empty($_POST['email'])){$email = strip_tags(trim($_POST['email']));}
    18.                     if(!empty($_POST['skype'])){$skype = strip_tags(trim($_POST['skype']));}
    19.                     if(!empty($_POST['sms'])){$sms = strip_tags(trim($_POST['sms']));}
    20.                     $message = "Имя пользователя: ".$name."\r\n";
    21.                     $message .= "Почта: ".$email."\r\n";
    22.                     $message .= "Skype: ".$skype."\r\n";
    23.                     $message .= "Сообщение: ".$sms."\r\n";
    24.  
    25.  
    26.  
    27.                        $tema = "=?utf-8?B?".base64_encode($subject)."?=";
    28.                        $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n";
    29.                        mail($to, $tema, $message, $headers);
     
  17. Griffter

    Griffter Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    92
    Симпатии:
    25
    Во первых можете убрать подключения файла include_once('functions.php'); в файлах form.php, v-index.php, v-main.php , так как функции с этого файла там не используются.
    А во-вторых ошибка из-за использование include_once. Эта функция позволяет подключить файл лишь 1 раз, и этот один раз используется при подключении файла v_main.php
    PHP:
    1. $inner = template('v_main.php', array());
    2.        echo template('v_index.php', array('title' => 'Главная', 'content' => $inner));
    А затем для файла v_index.php он уже не может подключиться, так как этот шанс подключиться уже использован. По этому замените include_once('form.php') на include('form.php') в v-index.php, v-main.php
    Должно заработать...
     
    Алексей87К нравится это.
  18. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    2 дня ошибку не можете прочесть ? если я вам готовый код сразу не пишу - это не значит что ничего не знаю. Тем более самый первый пост практически готовый код был. Но вы упорно продолжаете долбиться в глаза и просить сделать это за вас, прочесть ошибку, найти где она находится , изменить логику своего говнокода. Все что от вас требовал прочтите бляять ошибку, или наймите программиста - ставка 100 руб. Конец
     
  19. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    Спасибо тебе огромное!!!! Действительно заработало. Ошибок нет!!! Единственное, что не могу понять... почему на почту не приходят данные? Ведь вроде всё верно. Вот, что я получаю...
    mail.png
     
  20. Griffter

    Griffter Новичок

    С нами с:
    27 сен 2017
    Сообщения:
    92
    Симпатии:
    25
    Тебе по идее вообще по 2-3 сообщения должно приходить за одну отправку, из которых одно заполнено, а все остальные пустые будут.
    Проверь еще раз, так и есть?
     
  21. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    Всё закрыл уже( Просто уходить надо! Вечером приду, отпишусь и скажу, так ли это!
     
  22. Алексей87К

    Алексей87К Новичок

    С нами с:
    5 янв 2017
    Сообщения:
    157
    Симпатии:
    4
    Есть проблема! 3 пустых письма приходит на почту, вместо одного с данными...
     
  23. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    В семёрке удобно такие вещи делать
    PHP:
    1. <input type="text" placeholder="Ваше имя" id="name" name="name" value="<?=$_POST['name'] ?? '' ?>"  />
    И ноу проблемс
     
    Fell-x27 нравится это.
  24. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    До тех пор, пока из формы не начнет пропадать цифра 0 :)
     
  25. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    @[vs] никуда она не денется. Это не емпти