За последние 24 часа нас посетил 22681 программист и 1207 роботов. Сейчас ищут 889 программистов ...

Помогите понять в чем ошибка. Создаю вложенные вызовы файлов.

Тема в разделе "Прочие вопросы по PHP", создана пользователем victort, 5 янв 2018.

Метки:
  1. victort

    victort Активный пользователь

    С нами с:
    8 сен 2010
    Сообщения:
    86
    Симпатии:
    2
    Здравствуйте. Подскажите пожалуйста в чем проблема кроется. Решил сделать вызов файлов один в другом через include но почему-то в таком случае не работает форма html т.е. она отправляет данные но я их не получаю. Теперь подробнее. У меня есть файл index.php внутри него я вызываю часть данной страницы с прописанной внутри формой. Причем если я указываю путь такой sait.ru - форма работает ну я условие if поставил мол по умолчанию подгружать данный файл в index. Если же я пишу вот так sait.ru/forma то форма перестает работать. Я просто в таком случае отлавливаю в index файле данный запрос через перменную сервера url обращение и раз в url есть вызов forma то срабатывает include(forma.php) и на экран выводится html форма но в этом случае при отправке данных я их немогу поймать как POST я вообще не знаю куда они уходят.

    В моем случае я ведь использую php всего навсего как выводящий на экран элементы страницы в html форме я action оставляю пустым чтоб он обращался к текущей странице а значит к index файлу.

    Идея у меня была такой может я не правильно решил ее реализовать. index-файл отвечает у меня за все что происходит на сайте поэтому я хотел все страницы для пользователей показывать через него. А ссылки сделать вот такого вида sait.ru/stranica1, sait.ru/stranica2.
     
    denis01 нравится это.
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  3. victort

    victort Активный пользователь

    С нами с:
    8 сен 2010
    Сообщения:
    86
    Симпатии:
    2
    Походу дело в этом параметре REDIRECT_STATUS=404 на стороне сервера. Такого файла нет на сайте и поэтому данные теряются. Это надо файл .htaccess настраивать чтоб он в таком случае все отдавал index файлу?
    --- Добавлено ---
    Я в файл .htaccess сделал вот такую запись:
    Код (Text):
    1. RewriteEngine On
    2.  
    3. RewriteCond %{REQUEST_URI} !/index.php
    4. RewriteCond %{REQUEST_METHOD} ^POST$
    5. RewriteRule .*? /index.php [L]
    6.  
    7. RewriteCond %{REQUEST_FILENAME} -s [OR]
    8. RewriteCond %{REQUEST_FILENAME} -l [OR]
    9. RewriteCond %{REQUEST_FILENAME} -d
    10. RewriteRule ^.*$ - [NC,L]
    и теперь могу ловить переменные с форм.
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    жестокий ты тип
     
    samimages нравится это.
  5. samimages

    samimages Новичок

    С нами с:
    4 янв 2018
    Сообщения:
    10
    Симпатии:
    1
    Код бы конечно, но попробуйте через require
     
  6. victort

    victort Активный пользователь

    С нами с:
    8 сен 2010
    Сообщения:
    86
    Симпатии:
    2
    Ну я же написал в чем проблема оказывается. Раз данного пути не существует то получается что POST уходит на не определенный адрес. Чтоб этого больше небыло я написал серверу команду что все POST идут к index файлу. Дело то не в коде было а в передаче тегом <FORM> данных на сайте.
     
  7. victort

    victort Активный пользователь

    С нами с:
    8 сен 2010
    Сообщения:
    86
    Симпатии:
    2
    Не делайте такой подход он не верен. А точнее вот что я выяснил используя его - Массив POST в этом случае ведет себя как GET переменная то есть у него возникает ограничение по объему данных. И при его использовании я потерял часть передаваемых данных. Кстати мне тут посоветовали воспользоваться $_REQUEST - попробую.