Задать вопрос
  • Как заставить простейшую php форму работать?

    @websiteserf
    <script src="main.php"></script>
    Этот кусок не должен находиться в заголовке HTML страницы
    Через тег script подключаются файлы JavaScript
    Этот кусок надо удалить и переделать форму, добавив в ее атрибуты следующее
    action="Путь_До_Файла_ Main.PHP"

    полный код формы

    <head>
      <meta charset="UTF-8">
    </head>
    <body>
      <form id="form" method="POST" ACTION="main.php">
      <label for="phone">Введите телефон</label>
      <input id="phone" name="phone" type="text">
      <label for="name">Введите имя</label>
      <input id="name" name="name" type="text">
      <input type="submit" value="Отправить">
    </form>
    </body>

    И замени строку
    mail("$toWho", "$message");
    на такую
    if(mail("$toWho", "$message")) {
    echo 'Отправленно';
    } else echo 'Возникли ошибки при отправке данных';

    Этот код тебе выведет сообщение о статусе обработки формы
    PHP обрабатывается на сервере путем запроса его по адресу сайта, как .EXE в командной строке, например mysite.onion/INDEX.PHP Знай, они не подключаются как Javascript. Подключение php файлов происходит лишь внутри php кода функциями Include('ПУТЬ ФАЙЛА') или reduire('ПУТЬ ФАЙЛА')
    Ответ написан
    3 комментария
  • Почему форма передается не так, как надо?

    @websiteserf
    Напишите по стандарту

    <form method="POST" action="КУДА_ОТПРАВИТЬ_URL" id="form" />
       <input style="width: 100%;" type="text" name="1553" value="Конструктивная огнезащита" />
       <input style="width: 100%;" type="text" name="102" value="Краска" />
       <input style="width: 100%;" type="text" name="1596" value="Не указано" />
       <input style="width: 100%;" type="text" name="109" value="Сухая штукатурная смесь" />
      <input type="submit" value="Отправить" />
    </form>


    Отправляете по технологии ajax раз уж сериализацию используете, она в основном только там и нужна? Тогда так:

    $('#form').bind('submit', function(){
        var self = $(this);
        $.ajax({
            url : self.attr('action'),
            data : self.serialize(),
            type: "POST",
            success : function(response) {
                       self.appendTo(resnonse);
                }
        });
    });


    И на серверной части получить данные из массива $__POST и обработать данные функцией urldecode()

    www.php.su/functions/?urldecode
    Ответ написан
  • Каким лучше образом сделать так, чтобы элемент загружался вне видимых частей страницы?

    @websiteserf
    Загружать по технологии ajax более выгодно, ибо если окно скрыто, значит информация маловажна, или так
    var template = '<div class="BOX">Text</div>';

    Использовать js шаблон и вставлять его .append()
    Ответ написан
    Комментировать