Перейти к содержимому

Фотография
- - - - -

Выдергивание статей из MySQL


  • Вы не можете создать новую тему
  • Авторизуйтесь для ответа в теме
Сообщений в теме: 33

#1 ШЗа

ШЗа

    Прохожий

    Топикстартер
  • Участник
  • 0
    15 сообщ.

Отправлено 21 Март 2019 в 20:14

Что надо написать в php чтобы поисковик сам выдергивал из Mysql  статьи по запросу?


  • 0

Спонсор

#2 Volly

Volly

    Завсегдатай

  • Участник
  • 117
    610 сообщ.

Отправлено 22 Март 2019 в 01:07

Поисковик не может сам выдёргивать статьи из Mysql. Более того, он даже не знает о его существовании.

Поисковики знают только адрес в сети и сами его могут запросить примерно также, как делает любой браузер и получить только то, что даст ему скрипт страницы (код, html, css...).

Что надо писать на странице - это в двух словах не рассказать.


  • 0

#3 ШЗа

ШЗа

    Прохожий

    Топикстартер
  • Участник
  • 0
    15 сообщ.

Отправлено 22 Март 2019 в 13:57

Согласен. Что поисковику html только нужен. Правильно ли я понимаю работу динамического сайта. index.php( там Get от туда Mysql  потом перебор и заканчивается header("Location:/?page=" далее <!DOCTYPE html>) или цепочка не правильная?

Поисковик не может сам выдёргивать статьи из Mysql. Более того, он даже не знает о его существовании.

Поисковики знают только адрес в сети и сами его могут запросить примерно также, как делает любой браузер и получить только то, что даст ему скрипт страницы (код, html, css...).

Что надо писать на странице - это в двух словах не рассказать.


  • 0

#4 Volly

Volly

    Завсегдатай

  • Участник
  • 117
    610 сообщ.

Отправлено 23 Март 2019 в 00:26

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

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


  • 0

#5 miketomlin

miketomlin

    Частый гость

  • Участник
  • 17
    81 сообщ.

Отправлено 26 Март 2019 в 02:19

ШЗа, GET безо всяких форм и header, т.е. обычные ссылки со страниц на страницы. Применительно к ПС это называется внутр. перелинковкой (плюс можно использовать карту сайта). Вот пример с демкой (см. конец статьи): Как сделать вывод списка статей? На главной демосайта есть ссылка на /articles, на /articles есть список со ссылками на страницы статей. Как выше написали, ПС все это «хавают».
Что касается index.php и т.п., можете также почитать мою статью Как сделать единую точку входа с ЧПУ?
  • 0

#6 ШЗа

ШЗа

    Прохожий

    Топикстартер
  • Участник
  • 0
    15 сообщ.

Отправлено 28 Апрель 2019 в 01:27

RewriteRule page/([A-Za-z0-9_-]+)([\/]{0,1})\.htm$ index.php?option=page&alias=$1 [L]

В свичь есть кейс "page" и инклуд с именем сайта и надо передать переменную по инклуду в переменную aleas но это не работает. Не знаю где ошибка?  


  • 0

#7 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 1025
    3 782 сообщ.

Отправлено 28 Апрель 2019 в 08:24

Для проверки регулярок рекомендую https://regex101.com/

Второе предложение вообще не понял.
  • 0

#8 ШЗа

ШЗа

    Прохожий

    Топикстартер
  • Участник
  • 0
    15 сообщ.

Отправлено 28 Апрель 2019 в 10:44

switch ($_GET[option])

{

case "page"

include($_SERVER[DOCUMENT_ROOT]."scrpe/istoriy.php");

break;

default:

include($_SERVER[DOCUMENT_ROOT]."scrpe/is.php");

break;

}


  • 0

#9 Volly

Volly

    Завсегдатай

  • Участник
  • 117
    610 сообщ.

Отправлено 28 Апрель 2019 в 12:36

ШЗа, а если после case "page" поставить двоеточие?


  • 0

#10 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 1025
    3 782 сообщ.

Отправлено 28 Апрель 2019 в 13:58

1) Надо понять, приходят ли вообще запросы на новый файл?
Для этого достаточно в новом файле написать типа echo "1";

2) Проверить на ошибки конечно надо. При разработке обязательно надо в начале прописывать
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Чтобы на экран выводило все ошибки.
  • 0

#11 ШЗа

ШЗа

    Прохожий

    Топикстартер
  • Участник
  • 0
    15 сообщ.

Отправлено 28 Апрель 2019 в 21:00

Двоеточие да есть, не скопировалось.


Прописал. Теперь еще больше непонятно. Че пишет, какие то линии.


  • 0

#12 Volly

Volly

    Завсегдатай

  • Участник
  • 117
    610 сообщ.

Отправлено 28 Апрель 2019 в 21:58

В строке $_GET[option] желательно поставить кавычки $_GET['option'].

 

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

 

Временно над switch ($_GET[option])

вставьте строку

echo $_SERVER[DOCUMENT_ROOT];

Эта строка выведет на странице путь к рутовой папке.

Откройте в браузере страницу. Страница будет развалившаяся с большой кучей сообщений. Постарайтесь в этой куче найти адрес рутовой папки и в этой папке на сервере проверить есть ли файлы istoriy.php и is.php.

 

Подсказать конкретно, что там у вас не работает, не видя скрипта и сообщений, шибко затруднительно.


  • 0

#13 miketomlin

miketomlin

    Частый гость

  • Участник
  • 17
    81 сообщ.

Отправлено 28 Апрель 2019 в 22:04

ШЗа, парсинг исходного адреса нИ Асилили? Или лень было читать мою статью? Ну что ж устаревший способ – тоже способ :)

 

Volly, DOCUMENT_ROOT – это тоже ассоциативный ключ, а не константа ;)


  • 0

#14 ШЗа

ШЗа

    Прохожий

    Топикстартер
  • Участник
  • 0
    15 сообщ.

Отправлено 28 Апрель 2019 в 22:13

Поставил echo $_SERVER[DOCUMENT_ROOT]

Получил

 


Почитал. Но при этом как я понял эти правила на все сайты распространятся, единый вход. "Прощай свобода". Еще подумаю

Прикрепленные изображения

  • 28_04.png

  • 0

#15 miketomlin

miketomlin

    Частый гость

  • Участник
  • 17
    81 сообщ.

Отправлено 28 Апрель 2019 в 23:24

Неправильно поняли. Хотя ХЗ, что вы подразумеваете под сайтом. Если какую-то отдельную «папку» (адресную ветвь) сайта, то опред. ограничение может быть, но оно легко обходится за счет состыковывания соотв. узла осн. сайта с сайтом этой папки.

 

В общем же единая точка входа – это наоборот полная свобода. Советую вникнуть в суть, прежде чем говорить подобное: «Прощай свобода» ;)


P.S. Судя по использованию ослика и блокнота, вы не ищете легких путей. Возьмите уже Win95, чего мелочиться :)


Сообщение отредактировал miketomlin: 28 Апрель 2019 в 23:24

  • 0

#16 ШЗа

ШЗа

    Прохожий

    Топикстартер
  • Участник
  • 0
    15 сообщ.

Отправлено 28 Апрель 2019 в 23:39

Ну да. отдельные сайты. Может быть если кейсы не получатся то ваш способ понятен. Хочется кейсы добить раз уж начал.


  • 0

#17 miketomlin

miketomlin

    Частый гость

  • Участник
  • 17
    81 сообщ.

Отправлено 29 Апрель 2019 в 12:33

Вообще-то я не о кейсах, а о разборе исходного адреса (из $_SERVER['REQUEST_URI']). Кейсы можете продолжать использовать, пока не освоите более вменяемую маршрутизацию. Кстати, вместо кейсов можно использовать ассоциативный массив с ключами-слагами и значениями-именами (файлов) обработчиков.


  • 0

#18 ШЗа

ШЗа

    Прохожий

    Топикстартер
  • Участник
  • 0
    15 сообщ.

Отправлено 29 Апрель 2019 в 13:44

Ключи, значения имен мне не интересно, слишком неуклюже, много кода, нет.

А вот то что я на вертуальном хостинге и $_SERVER[REQ...] уже не раз думал как только меняю на Request то сразу не работает так и приходится опять вписывать.


  • 0

#19 webdron

webdron

    Прохожий

  • Участник
  • 1
    8 сообщ.

Отправлено 29 Апрель 2019 в 13:55

ШЗа, заключайте в кавычки или апострофы индексы служебных массивов $_SERVER["DOCUMENT_ROOT"] - см. https://www.php.net/...bles.server.php

и второе от mysql_connect отказываетесь немедленно. в пользу pdo. Опять же документация - https://www.php.net/...ru/book.pdo.php


  • 0

#20 miketomlin

miketomlin

    Частый гость

  • Участник
  • 17
    81 сообщ.

Отправлено 29 Апрель 2019 в 14:04


Ключи, значения имен мне не интересно, слишком неуклюже, много кода, нет.
Вы если вообще не сечете, прислушивайтесь и при необходимости задавайте уточняющие вопросы. Я вам предложил более простой и вменяемый вариант свитча. Пререкаться с вами по поводу элементарных вещей как-то неохота.
  • 0



Похожие темы Свернуть

Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей