PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (98): В начало « ... 77 78 79 80 [81] 82 83 84 85 ... » В конец

> Найдено сообщений: 1465
teddy Отправлено: 24 Июня, 2013 - 14:28:15 • Тема: обработка ссылки • Форум: Вопросы новичков

Ответов: 12
Просмотров: 343
AlexAnder
Я сам не использую куки ) но авторизацию на куках сделать вполне можно и так же проверять ее на isset как и сессию... Конечно же сессия предпочтительнее, на мой взгляд... потому мои примеры построенны именно на ней...
teddy Отправлено: 24 Июня, 2013 - 14:07:57 • Тема: обработка ссылки • Форум: Вопросы новичков

Ответов: 12
Просмотров: 343
him пишет:
есть так называемый секретный раздел сайта, в которой пользователи попадают после проверки логина и пароля.


1 вариант:
PHP:
скопировать код в буфер обмена
  1. if(!isset($_SESSION['authuser'])){
  2.     header("Location: index.php");
  3.     exit;
  4. }

2 вариант:
PHP:
скопировать код в буфер обмена
  1.  
  2. if(!isset($_SESSION['authuser'])){
  3.     die("Извините, но вы не авторизованы");
  4.    }
  5.  

3*вариант:
Кто нибудь предложит.

Но и так все будет работать, можно и на куках.
teddy Отправлено: 24 Июня, 2013 - 13:20:52 • Тема: Постраничная навигация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 915
vanicon пишет:
У навигации есть определенный функционал, который в дальнейшим уже вряд ли будет меняться, один раз написать нормальный класс/функцию навигации, и использовать его уже везде где надо...

Согласен ) Если честно, исходя и темы данного топика, я написал этот мини скрипт с целью освоения принципа работы постраничной навигации. Ведь до сегодняшнего дня я не очень его понимал... Это была своего рода тренировка для меня....

vanicon пишет:
Нет, это класс DeepVarvar'a, который он написал и использует в свой cms, смотри его подпись...

Теперь понятно, спасибо )

DeepVarvar
А можно посмотреть исходники данного класса?
teddy Отправлено: 24 Июня, 2013 - 12:35:27 • Тема: Постраничная навигация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 915
LIME
Ну да, ну да... Тут я думаю нет единого решения. Все опять же от вкуса зависит. Но в идеале то да, нужно предусматривать всё, если нам нужен мощный пагинатор... Но опять же, учитывая возможноси PHP я думаю что можно решить более чистым кодом чем в примерах гугла, тут всё уже от креативности писаки зависит я думаю...

DeepVarvar пишет:
Повторюсь

Честно говоря не очень понял... 1. Класс paginator это встроенный в PHP класс? А то его описания я по ссылке не нашел. 2. Или это просто "идея" описана ? 3. Если встроен, то с какой версии PHP? У меня не находит пых такой класс... Версия 5.3
teddy Отправлено: 24 Июня, 2013 - 03:23:23 • Тема: Постраничная навигация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 915
LIME пишет:
А ты не подумал что "грязный" код как-то похож на то что ты предлагаешь?

Совсем нет ) одно дело 1 раз написать $page = $page +/- 1; а другое дело напиши в гугле "постраничная навигация" и "довольствуйся" примерами Улыбка Тоесть если например страниц больше 50, останавливаем дальнейшию генерацию страниц и просто добавляем кнопку далее.

Если на сайте только в одном разделе будет 1253 страниц каждая из которых будет содержать по 15 статей, то вот сколько статей в общем нужно будет написать/заказать 18795. Потому и я назвал эту цифру неадекватной ) с таким контентом, если к примеру писать статьи про php, можно в поисковой выдаче мануал обогнать )

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

Более того, можно на главную страницу выводить и 20 статей, но показывать далеко не все, что бы не испортить визуальный вид страницы. А сделать так: показали 200 символов, остальное записываем в "Подробнее"... Пусть кликает, дочитывает, комментирует и все будут счастливы )
teddy Отправлено: 24 Июня, 2013 - 02:46:20 • Тема: Постраничная навигация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 915
LIME
1253 - неадекватная цифра ) если статей много, то можно увеличить кол-во выводимых статей на 1 странице. Если сейчас оно у меня равно 5, то можно сделать 15 и значительно сократить эту цифру. Ну а если более серьезно подойти к этому делу, тогда можно например сделать кнопочку "На последнюю", или "далее" либо "назад", где просто $page = -1 или +1 - не более... - Два варианта пока предполагаю, второй конечно же при цифре 1253 предпочтительнее...

А громоздить код так, что бы он состоял из 100500 таких кусков, который я описал выше, до того как опубликовать свой код, считаю не правильным...
teddy Отправлено: 24 Июня, 2013 - 02:19:37 • Тема: Постраничная навигация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 915
Вообщем, долго ходил по сети в поисках адекватного алгоритма для составления постраничной навигации, но постоянно натыкался на грязный код типа:
PHP:
скопировать код в буфер обмена
  1. if($page - 2 > 0) $page2left = ' <a href= ./page?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
- и такие проверки с кучей запутанных $page +/- 1/2 просто действовали на нервы...

Вообщем слепил свой велосипед, на мой взгляд намного адекватнее по коду, чем подобные примеры.

Скрипт работает так - приходим на страничку, сразу отрисовывается нужное кол-во страниц в зависимо от кол-ва статей в БД. Если не считать всякие выводы и <br>, то скрипт состоит всего навсего из 8 строк логики для постраничной навигации. Упрощал как можно больше

Просьба оценить код и возможно даже покритиковать:
Спойлер (Отобразить)
teddy Отправлено: 23 Июня, 2013 - 17:13:50 • Тема: Обратная связь, вывод ошибок • Форум: Вопросы новичков

Ответов: 3
Просмотров: 251
Struggle пишет:
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['name'])) {$name = $_POST['name'];}
  2. if (isset($_POST['email'])) {$email = $_POST['email'];}
  3. if (isset($_POST['mess'])) {$mess = $_POST['mess'];}

Зачем?

CODE (html):
скопировать код в буфер обмена
  1. <input type="submit"  name="submit" value="Отправить">

PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_POST['submit'])) {
  3.    
  4.     $name = $_POST['name'];
  5.     //так и с остальными input-ами
  6.  
  7.     if(empty($name)){
  8.         $error_name = "Заполните поле имя";
  9.     }//Так и с остальными полями, далее проверяем на isset error-переменные
  10.      
  11.     if(!$error_name){
  12.           //все отлично, сообщение успешно отправлено
  13.       }
  14.     if(isset($error_name)){echo $error_name;}//если ошибка есть, выводим ее
  15. }
  16.    
  17.  

Как то так... на скорую руку написал, думаю идея понятна и доработаете под свои нужды. Тут по разному можно сделать, это один из вариантов....
teddy Отправлено: 23 Июня, 2013 - 13:07:07 • Тема: Постраничная навигация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 915
alnik-75
Видимо все дело в том, что я взял себе за "правило" не начинать писать php код до тех пор, пока не пойму что конкретно нужно делать...

Приблизительно понял, но не уверен что окончательно Улыбка Буду сейчас копаться и возможно скоро снова засыплю вопросами )
teddy Отправлено: 23 Июня, 2013 - 12:40:38 • Тема: Постраничная навигация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 915
alnik-75 пишет:
$page=$_GET['page'];
$start = ($page-1)*$stop;


caballero пишет:
ну так и меняй по кнопке #start и $stop в ту или иную сторону


Это все понятно, как переключать странички, но вопрос в другом. Не доходит до меня то, как правильно вывести в цикле количество требуемых страниц(а именно какое условие нужно задать и почему) и как так получается, что при нажатии например странички 3, LIMIT меняется на 20, 30 и отдается пользователю именно при нажатии кнопки "3". - Какое условие задать, я не догоняю...

Принцип понимаю почти до конца, только с выводом проблемы, а именно плохо понимаю поведение данного скрипта....

Надеюсь я доступно объяснил суть моего непонимания )
teddy Отправлено: 23 Июня, 2013 - 02:46:32 • Тема: Постраничная навигация • Форум: Вопросы новичков

Ответов: 21
Просмотров: 915
Всем привет. Знаю что тема заезженная и существует много готовых решений и статей, но у меня вопрос заключается немного в другом... Очень хочу понять полностью алгоритм. Вот просидел сегодня очень долго, что то понял, а что то не очень. Итак, приступим:

Разделим структуру моего понимания алгоритма данного скрипта на две части:

1. Понял:
- Переключение страничек происходит при помощи $_GET параметра

- Нужно изначально узнать общее количество заметок в БД ( как этим воспользоваться - не очень понимаю)

- Использовать цикл for для автоматической генерации новых страничек при необходимости.

- Нужно составить SQL запрос для выборки определенного количества заметок на страницу, пусть в данном случае это количество будет равно 10.

Пример:
PHP:
скопировать код в буфер обмена
  1.  
  2.     $start = 1;
  3.     $stop = 10;
  4.                
  5.          $result = $db->query("SELECT article FROM articles LIMIT $start, $stop");

2. Не понял:

- Как и где именно нужно воспользоваться общим количеством заметок, котрые мы получаем при помощи вышеуказанного запроса(положить в переменную то понятно, а что дальше?).

- Как правильно использовать цикл for для генерации новых страничек 1 2 3 и т.д только при необходимости?

- И как сделать, что бы если нажали кнопку 2, то что бы в браузер уже выводились следующие 10 заметок. Полагаю что нужно менять LIMIT 10, 20 и так далее. Ну не буду же я это в ручную постоянно делать. Но как мы узнаем, что выбрана страничка номер 2 и нужно изменить значения LIMIT-а в запросе? И именно там, где это нужно. Тоесть что бы остальные статьи, где LIMIT 10, 20 показывались уже на второй страничке. if-ом проверять не дело каждый раз, а то опять получается что вручную... Но чую можно как то довести это дело до автоматизма. Тоесть как скрипт понимает, что нужно сгенерировать следующую страничку и положить туда не что попало, а именно следующие 10 заметок

Если кто то знает ответы на мои вопросы, пожалуйста ответье на них. Буду очень благодарен. Повторюсь, статьи читал, готовые решения видел, везде все по разному, ответы на свои вопросы так и не нашел. От объяснения много что зависит, поэтому прошу объяснить как можно доступнее, буду очень рад и признателен!

А тем временем вот "шаблон", который я набросал...
Спойлер (Отобразить)
teddy Отправлено: 21 Июня, 2013 - 17:16:16 • Тема: Помогите с литературой • Форум: Вопросы новичков

Ответов: 9
Просмотров: 240
first
Это уже от вас зависит... Если почувствуете, что наступает взрыв мозга и все что вы видите и слышите никак не запоминается и вы ничего не понимаете, отдыхайте... Как почувствуете настрой учиться дальше - смотрите дальше. Если что то непонятно - пересматривайте урок вплоть до того, пока не поймете. Это может быть и час и 5 часов...

И это... если вы не знаете HTML, то начните для начала с него. Есть так же уроки "Специалист HTML и CSS". Посмотрите хотя бы до 5 урока. А дальше можете отбросить.

Ещё есть "Специалист HTML и CSS. Кроссбраузерная верстка" - это не качайте, если вы только начали обучение, то ничего не поймете из этого курса.
teddy Отправлено: 21 Июня, 2013 - 17:11:22 • Тема: Помогите с литературой • Форум: Вопросы новичков

Ответов: 9
Просмотров: 240
first
Качайте с торрента видеоуроки от Специалиста. Объясняет очень доступно, разжевывает каждую функцию более чем надо и с примерами. За одно познакомитесь с SQL и системой управления базой данных, что очень важно в PHP. Если не получится установить Apache + PHP + MySQL, качайте программу denwer, это связка перечисленного.

Примеров и заданий там более чем достаточно. После изучения каждой функции или определенной связки функций следует задание. Если не можете решить сами - далее в видеоуроке увидите решение. Можете так и написать в гугле "Скачать Специалист PHP уровень 1, 2, 3, 4 торрент".

Удачи
teddy Отправлено: 20 Июня, 2013 - 19:00:33 • Тема: Вывод изображений из MySql • Форум: Вопросы новичков

Ответов: 16
Просмотров: 600
LIME пишет:
перестань считать себя учеником

Постепенно уже так и происходит ) Но все же считаю себя не опытным... хочется повидать много всяких ситуаций, где и как лучше поступить и все такое... Так процесс наверное быстрее пойдет я думаю. Делать то я делаю, уже со счета сбился сколько файлов переписал... Почти каждый день что то пишу. Обычно делаю так - хожу по сайтам, вижу какую то фишку, стараюсь такую же написать самому.. Обычно получается, иногда приходится спрашивать здесь или читать в гугле... Но это уже не интересно. Сейчас меня интересуют не стандартные ситуации. А не то что добавить что то в БД через админку, вывести что то в цикле, обновить инфу или что то удалить и т.д - это уже особо не интересует...
teddy Отправлено: 20 Июня, 2013 - 18:48:54 • Тема: Вывод изображений из MySql • Форум: Вопросы новичков

Ответов: 16
Просмотров: 600
LIME
Интересная мораль, спасибо ) Я вообще стараюсь изучать все как можно на лучшем уровне, только не всегда удается найти нужную информацию, учусь сам, смотрю разные видеоуроки и толковые статьи, спрашиваю здесь если что непонятно, потом сравниваю всю полученную информацию и стараюсь как то объединить информацию и получить в итоге как можно лучший результат...

Но бывают случаи, когда тупо не знаю что искать, во что вчитываться а что вообще выбросить... Обычно это касается разработки на высшем уровне... Друзей программистов у меня нет, как и близких знакомых.. Вот был бы грамотный человек, который повозился б со мной, было бы круто )

Тонкий намёк всем участникам форума(касается опытных программистов), готов разгребать вашу работу для личной практики но с вашей помощью Улыбка

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

Модераторы, сори за оффтоп Улыбка

Страниц (98): В начало « ... 77 78 79 80 [81] 82 83 84 85 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB