За последние 24 часа нас посетили 22468 программистов и 1143 робота. Сейчас ищут 638 программистов ...

1 запрос в 2 таблицы + матчасть

Тема в разделе "MySQL", создана пользователем ArsNet, 6 дек 2016.

  1. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Не за что, это ещё не всё, это только начало!

    Тебе надо направить все запросы на index.php, а в нём распарсить запрос через parse_url(), и тогда ты сможешь поискать и понять какой тебе нужен файл из тех, в которых ты держишь страницы. А не прописывать адющий километровый лист из кейсов. :D
    Тогда будет красиво.
     
    ArsNet нравится это.
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @igordata, я читал и ждал, когда же ты ему дашь содержимое htaccess. Под конец переписки дождался.:D
     
  3. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    я думал он у него есть! поэтому такие урлы выходят. Я не понимал, что если я прошу написать /alala, то он руками сам идёт и пишет /main.php?page=ololo =(
    --- Добавлено ---
    я думал сегодня у всех есть .htaccess!
     
    ArsNet нравится это.
  4. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Яж говорил деревянненький я еще в этом вопросе. Только вот не ходят теперь GET запросы :(
     
  5. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Эх. Удалил нафих все. Сейчас буду писать все с самого нуля с учетом всех рекомендаций. Буду долбиться стучаться. Если что втупливать опять буду то буду сюда писать за хелпером
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    начни с почти пустого index.php и роутинга всех запросов в конфиге веб-сервера.
     
    ArsNet нравится это.
  7. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Так я какраз с этого и начал. Зашел в исходники движка, выбрал все файлы и нажал shift+del. Тперь и index.php пустой и .htaccess. сижу пытаюсь разобраться.
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    И какой хтаксес ты уже наваял?
     
    ArsNet нравится это.
  9. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    php_value max_input_vars 250

    order deny, allow
    deny from all
    allow from 10.90.193.120

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]



    Пока как-то так
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    RewriteRule ^(.*)$ index.php?page=$1 поменяй на RewriteRule ^ index.php и в конце обычно какие-то буковки в квадратных скобочках - они там не просто так, прочитай по них.
     
    ArsNet нравится это.
  11. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    При обращении по адресу 10.90.193.120/index.php/bla
    Получаем:
    array(2){[0]=>string(9)"index.php"[1]=>string(3)"bla"}
    --- Добавлено ---
    Хм а если пишу RewriteRule ^(.*)$ index.php?page=$1 [L], то при обращении 10.90.193.120/bla/ выдает array(1){[0]=>string(3)"bla"}, а при ^index.php пишет Object not found
     
  12. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Хм. Получилось у меня извлечь в переменную $page;
    Только вот не совсем уверен что это верно.

    .httaccess
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?page=$1 [L]

    index.php
    $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    $uri_p=explode('/', trim($uri, '/'));
    $page = array_shift($uri_p);
     
  13. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    О! Круто. Молодцом.

    первый член массива будет $uri_p[0], а шифт это для случая, когда ты хочешь писать питоноперлообразный код, уничтожая входные данные по мере потребления. Тебе уничтожать не нужно. Тебе теперь нужно проверить наличие подходящего файла по такому пути =)
     
    ArsNet нравится это.
  14. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Код (Text):
    1. if ($_SERVER['REQUEST_URI'] == '/'){
    2. $page='home';
    3. }
    4. else{
    5. $page = substr($_SERVER['REQUEST_URI'],1);
    6. if (!preg_match('/^[A-z0-9]{3,15}$/',$page)){
    7. exit ("Ошибка УРЛ");
    8. }
    9. }
    10. if (file_exists('content/'.$page.'.php')){
    11. include ('content'.$page.'.php');
    12. }
    13. else{
    14. include ('content/login.php');
    15. }
     
  15. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    слешик потерялся чот

    если файла нет то это 404
     
    ArsNet нравится это.
  16. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Слэшик назад вернул.
    По поводу 404 да ты прав. Не логично как-то получается. Файла нет смотри авторизацию.
     
  17. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Чет у меня по моему POST запросы не бегают :(
     
  18. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    А нет ходят.
    @igordata, Подскажи плиз. В данный момент у меня идет так. Код активации отсылается пользователю на почту в виде ссылки:
    http://10.90.193.120/activcode/9823hf298fh2938fh239f8hhg2938r92
    А ОН МНЕ ГОВОРИТ ОШИБКА УРЛ.
    Как решить эту проблему?

    Напоминаю код:

    Код (Text):
    1. if ($_SERVER['REQUEST_URI'] == '/'){
    2. $page='home';
    3. }
    4. else{
    5. $page = substr($_SERVER['REQUEST_URI'],1);
    6. if (!preg_match('/^[A-z0-9]{3,15}$/',$page)){
    7. exit ("Ошибка УРЛ");
    8. }
    9. }
    10. if (file_exists('content/'.$page.'.php')){
    11. include ('content/'.$page.'.php');
    12. }
    13. else{
    14. include ('content/404.php');
    15. }
     
  19. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    ты отладку делаешь? что там в программе происходит когда ты по ссылки активации переходишь
     
  20. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    Я так понимаю что с GET запросами вообще беда теперь

    Вот что происходит
    1. $page = substr($_SERVER['REQUEST_URI'],1);
    2. if (!preg_match('/^[A-z0-9]{3,15}$/',$page)){
    3. exit ("Ошибка УРЛ");
    При этом httaccess

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php [L]


    При этом так реагирует на все GET
     
  21. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    что в $page?
     
  22. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    А туда вообще вся строка попадает все что после адреса
     
  23. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    так там цифр огого три десятка а ты в регулярке хочешь чтобы 15 было.
     
  24. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    всё равно это ещё рано

    у тебя есть урл, есть файл который обрабатывает все запросы. есть файлы в папке /content.

    но тебе не хватает механизма обработки и подключения этих файлов так, чтобы внутри файлов ты мог работать с урлом и его параметрами.

    А скажи, тебе хочется делать движок своими руками или ты просто не видишь другого выхода? Ведь есть движки же разные. Может заюзаешь готовый?
     
  25. ArsNet

    ArsNet Новичок

    С нами с:
    24 май 2016
    Сообщения:
    288
    Симпатии:
    24
    Адрес:
    Владивосток
    @igordata, Привет дружище. Хочется конечно самому. Не с целью чтобы себя потом в грудь бить и т.д. Я научиться по человичи хочу.
    --- Добавлено ---
    Ну и естественно сразу на практике. Наработки по любому нужны. Я понимаю что долго нудно сложно. Но я готов тыкаться мыкаться пробовать и т.д.
    --- Добавлено ---
    НАчал смотреть вот это: , Норм или гадость? может что другое посмотреть почитать?
    --- Добавлено ---
    Я просто с ооп не сталкивался, но четко понимаю чтобы развиваться то пора уже приступать