- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Воссоздайте код, приведенный в статье. Поэкспериментируйте. На крайняк помучайте демки из статьи, особенно вторую. Надеюсь, поймете. Если и после этого не поймете, значит, не судьба. Я-то что могу сделать?
Вы тут скорее хотите реализовать что-то вроде пхп роутинга через фронт контроллер.
Принцип:
Все запросы идут через index.php, там удобным вам образом подключается роутер, который разбивает ваш url на параметры (можно написать простейший в несколько строк для Ваших нужд). У вас везде ссылки вида /article/1..n, /blog/1..n
1..n - Ваш id, article - Нужный пых файл. Роутер их распознает и подключает нужный файл и передает id в функцию.
В статье, которую ТС не понял, я выложил готовый код парсинга имеющегося пути. Для описанного вами роутинга остается только к первому выделенному компоненту пути (находится в нулевом элементе массива) присоединить расширение php и добавить какой-нить префикс, определяющий местоположение файла, не забыв сделать валидацию, например при помощи in_array:
Тут же или внутри blog.php можно сделать что-то подобное:
Это примитивно, конечно, но для ТСа походу самое то.
Хочу сделать что бы часть article.php?id= не отображалась, но передавала get запрос, в итоге что бы:
Было так - /blog/article.php?id=link_my.html
Стало так - /blog/link_my.html
Это можно сделать в htaccess или я изначально не правильно создал структуру php файлов?
Вам и написали, как это можно сделать в .htaccess. Именно с Вашей структурой файлов. Ваш get-запрос передаётся в файл article.php после преобразования через правило RewriteRule, и в ссылке кусок "article.php?id=" совершенно не нужен, id вытаскивается из адреса в ходе преобразования.
Благодарю за помощь но я все равно ничего из выше написанного не понял. Я только учу php и не могу понять то что Вы написали.
У меня в index.php выводится полный список всех статей, чего там мне подключается.
У меня нету фала "blog.php", есть только папка blog в которой находится index.php (в которой выводятся все публикации) и article.php (в которую я передаю id что бы используя его, вывести текст полной статьи)
вроде готовый код выложили, даже уже и разжевали, что и как работает.
хз, как еще помочь
article.php (в которую я передаю id что бы используя его, вывести текст полной статьи)
Ну и используйте. Ничего же не мешает! Какие проблемы? Адрес есть, параметры есть - можете делать всё, что пожелаете.
Есть папка "blog"
В ней находится 2 файла:
- index.php содержащий:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body>
<div id="content">
<?php
include "adm/connect.php";
$sql = mysql_query("SELECT * FROM `blog` LIMIT 5") or die(mysql_error());
$newsData = array();
while($result = mysql_fetch_array($sql, MYSQL_ASSOC)){
$newsData[] = $result;
}
foreach($newsData as $oneNews):
?>
<article>
<p><?=$oneNews['title'];?></p>
<p><?=$oneNews['keywords'];?></p>
<p><?=$oneNews['description'];?></p>
<p><?=$oneNews['seo_link'];?></p>
<br>
<p><a href="/blog/article.php?id=<?=$oneNews['seo_link'];?>.html"><?=$oneNews['title_h1'];?></a></p>
<p><?=$oneNews['text'];?></p>
<p><?=$oneNews['date'];?></p>
<p><?=$oneNews['autor'];?></p>
<p><?=$oneNews['raiting'];?></p>
</article>
<?php endforeach; ?>
</div>
<input id="show_more" count_show="5" count_add="5" type="button" value="Показать еще" />
<script>
$(document).ready(function(){
$('#show_more').click(function(){
var btn_more = $(this);
var count_show = parseInt($(this).attr('count_show'));
var count_add = $(this).attr('count_add');
btn_more.val('Подождите...');
$.ajax({
url: "ajax.php", // куда отправляем
type: "post", // метод передачи
dataType: "json", // тип передачи данных
data: { // что отправляем
"count_show": count_show,
"count_add": count_add
},
// после получения ответа сервера
success: function(data){
if(data.result == "success"){
$('#content').append(data.html);
btn_more.val('Показать еще');
btn_more.attr('count_show', (count_show+5));
}else{
btn_more.val('Больше нечего показывать');
}
}
});
});
});
</script>
</body>
</html>
- article.php содержащий:
<?php
include("adm/connect.php");
$result = mysql_query("SELECT * FROM blog WHERE id = ".$_GET['id']."");
echo $_GET['id'];
?>
Может кто-то на примере написать с комментарием?
Как сделать вместо такой ссылки - <a href="/blog/article.php?id=<?=$oneNews['seo_link'];?>.html"><?=$oneNews['title_h1'];?></a>
Такую - <a href="/blog/<?=$oneNews['seo_link'];?>.html"><?=$oneNews['title_h1'];?></a>
У Вас проблема в другом, как мне кажется. Ваш скрипт article.php никак не выводит содержимое статьи, если он действительно такой, как Вы показали.
А ссылку просто заменяете одну на другую в индексном файле - и всё. Что тут можно ещё прокомментировать?
У Вас проблема в другом, как мне кажется. Ваш скрипт article.php никак не выводит содержимое статьи, если он действительно такой, как Вы показали.
Там выводится только содержимое get запроса, это для теста.
Я кажется начал разбираться.
Удалил article.php и обрабатываю все в index.php
Создал условие на проверку get переменной, если она пуста - выводится список всех статей, если в ней есть параметры - вывожу статью с этим параметром.