Бесплатные PHP скрипты - форум техподдержки

Бесплатные PHP скрипты - форум техподдержки

Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 24.04.2024 - 07:23:30
Страницы:  1  2  3  4  5  

Помогите разобратся

Объявление - WR-Scriptы в UTF-8 кодировке

Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.

На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий!
Планирую продолжить работы весь 2023 год.

АвторСообщение

midav

M
гость

Не понимаю полностью одну строчку

Сообщение # 1 26.07.05 - 22:00:43

midav

M
гость


Код:

//Выводим список доступных страниц вверху
if(isset($_GET['page'])) { $page=$_GET['page']; } else { $page="0"; }
$lines=file($datafile);
$a=count($lines);
$i=0;
print"</td></tr><tr><td colspan=2 width=100% bgcolor=$bdcolor>
<center><font color=red>Страниц:&nbsp;";
for($i=0; $i<$a;)
{ $ii=1+$i/$qq;
//Подсветка номера текущей страницы вверху
if($page==$i) { print"<b>$ii</b>"; } else { print"<a href=\"index.php?page=$i\">$ii</a>&nbsp;& nbsp; "; }
$i=$i+$qq; }
print"</font></center></td></tr><tr><td colspan=2 width=100% bgcolor=#ffffff>";

Сообщение # 2 26.07.05 - 22:06:19

midav

M
гость

Полностью не пойму
Код:

$i=0;
print"</td></tr><tr><td colspan=2 width=100% bgcolor=$bdcolor>
<center><font color=red>Страниц:&nbsp;";
for($i=0; $i<$a;)
{ $ii=1+$i/$qq;
//Подсветка номера текущей страницы вверху
if($page==$i) { print"<b>$ii</b>"; } else { print"<a href=\"index.php?page=$i\">$ii</a>&nbsp;& nbsp; "; }
$i=$i+$qq; }


Цитата:
Я знаю что это для вывода доступных номеров страниц, а что значат эти переменные не могу понять


Сообщение # 3 26.07.05 - 22:10:18

midav

M
гость

Не буду говорить еще о продолжении этого скрипта
Код:

//выводим qq сообщений на текущей странице
$lines=file($datafile);
$datasize= sizeof($lines);
$i=count($lines);
$n="0";
//выводим данные по возрастанию или убыванию
if($msginout=="1") { if($page>=1) {$a1=$page;} else {$a1=0;} if(($a1+$qq)<$i) {$u=$a1+$qq;} else {$u=$i;}}
else {if(($i-$page-$qq-1)>"0") {$a1=$i-$page-1; $u=$a1-$qq;} else {$a1=$i-$page-1; $u="-1";}}

Сообщение # 4 26.07.05 - 22:12:18

midav

M
гость

Эти записи меня убивают в незнании
Код:

if($msginout=="1") { if($page>=1) {$a1=$page;} else {$a1=0;} if(($a1+$qq)<$i) {$u=$a1+$qq;} else {$u=$i;}}
else {if(($i-$page-$qq-1)>"0") {$a1=$i-$page-1; $u=$a1-$qq;} else {$a1=$i-$page-1; $u="-1";}}

Сообщение # 5 26.07.05 - 22:13:51

WR

W
Участник форума

midav, тут лучше не заморачиваться. Всё таже проблема - защита от взлома. Пришлось добавить условие на вызов несуществующей страницы - чтобы вызвалась последняя или первая. Плюс можно легко "перевернуть" форум вверх дном: все собщения в темах будут выводится по направлению от последнего к первому. Это ещё со скрипта гостевой перекочевало в форум. Так пока и осталось без изменений.

Код верхний следует читать как:


Код:


// Если запрашивается в URL страница ($page)

// строка для тех у кого php работает с registr_globals=off
if(isset($_GET['page'] )) { $page=$_GET['page']; } else { $page="0"; }

// считываем все сообщения файла данных в память
$lines=file($datafile);

// $a = количеству сообщений в файле
$a=count($lines);
$i=0;

// печатаем слово Страниц:
print"</td></tr><tr><td colspan=2 width=100% bgcolor=$bdcolor>
<center><font color=red>Страниц:&nbsp;";


// цикл от последнего сообщения к первому
for($i=0; $i<$a;)

// временная переменная $$i - которая используется для показа людям: 1 2 3 4 5 6 7 и т.д.
{ $ii=1+$i/$qq;

//Подсветка номера текущей страницы вверху
// Если текщая страница=переменной $page в URL, то напечатать её без сслыки
// иначе напечатать ссылку на следующую страницу
if($page==$i) { print"<b>$ii</b>"; } else { print"<a href=\"index.php?page=$i\">$ii</a>&nbsp;& nbsp; "; }
// увеличить переменную страниц на $qq - число сообщений на страницу, указанное в админке.

$i=$i+$qq; }

// закрываем теги таблицы, в которой были выведены номера страниц
print"</font></center></td></tr><tr ><td colspan=2 width=100% bgcolor=#ffffff>";


Всё немного напутано, но просто.
У меня проблема небольшая с со страницами: есть обычное обозначение 1 2 3 4 и внутреннее обозначением страниц 10 20 30 и т.д.. Хотел исправить - но пока не решаюсь.

Сообщение # 6 27.07.05 - 05:58:17

midav

M
гость

А как тогда разобратся с этим
Код:

if($msginout=="1") { if($page>=1) {$a1=$page;} else {$a1=0;} if(($a1+$qq)<$i) {$u=$a1+$qq;} else {$u=$i;}}
else {if(($i-$page-$qq-1)>"0") {$a1=$i-$page-1; $u=$a1-$qq;} else {$a1=$i-$page-1; $u="-1";}}

Сообщение # 7 27.07.05 - 19:08:52

WR

W
Участник форума

Без бутылки точно не разберёшься

Попробую вспомнить:


Код:


// $msginout="1" - прямое направление вывода сообщений форума (от первого к последнему)
if($msginout=="1")
{
// присваиваем переменной, отвечающей за первое выводимое сообщение внутренний номер страницы 0 10 20 30 и т.д. при значении переменной больше 1, иначе первое сообщение = 0 (1-ая строка файла данных)
if($page>=1) {$a1=$page;} else {$a1=0;}

// Если приращение первая страница вывода + кол-во выводимых сообщений меньше кол-ва сообщений в файле, тогда последнее выводимое сообщение этому и равно, иначе - последнее сообщение = последнему сообщению в файле
if(($a1+$qq)<$i) {$u=$a1+$qq;} else {$u=$i;}
}

// те же "помидоры" только с точность до наоборот (вывод данных происходит "шиворот на выворот" от последнего к первому)
else
{
if(($i-$page-$qq-1)>"0") {$a1=$i-$page-1; $u=$a1-$qq;} else {$a1=$i-$page-1; $u="-1";}
}


Разобрался, даже в код скрипта не заглядывал и без бутылки

Сообщение # 8 28.07.05 - 06:30:43

midav

M
гость

все давольно трудно звучит, а взглянув на запись в первый раз вообще загрузился от непонятки Спасибо за объяснение! Если что то еще буду спрашивать

Сообщение # 9 28.07.05 - 19:38:01

midav

M
гость

Нашел в твоей гостевой еще одну запись и не понял опять
Код:

if (isset($_GET['rd']))
{
$rd=$_GET['rd'];
// ищем сообщение для редактирования и выводим его в форму.
$id ="";
$n="0";
$a1=$rd+1;
$u=$a1+1;
do {$a1--;$dt = explode("I", $lines[$a1]);

$dt[0]=str_replace("
", "\r\n", $dt[0]);

} while($a1 > $u);

Сообщение # 10 28.07.05 - 22:59:47

WR

W
Участник форума

ой! Это пурга какая то.

должно быть примерно так:


Код:


if (isset($_GET['rd'])) { $rd=$_GET['rd'];
// ищем сообщение для редактирования и выводим его в форму.
$dt = explode("I", $lines[$rd]);
$dt[0]=str_replace("
", "\r\n", $dt[0]);


Да уж, нужно обновить гостевую - там косяк на косяке в коде. Первым всегда писал скрипт гостевой, а потом уже форум. А сейчас наоборот - форум уже1.6 версии, а гостевая ещё 1.4. Я молчу про доску 1.1 - там тоже, наверно, такие ошибки в админке есть.

Внимание! здесь сейчас символ в этом коде разделения, который я использую заменяется на заглавную букву i - I

Сообщение # 11 29.07.05 - 06:28:50

midav

M
гость

а я уже в админке написал! Ну ниче, первый блин комом

Сообщение # 12 29.07.05 - 20:52:31
Тесты и проверка форума на взломоустойчивость :Предыдущая темаСледующая тема: Вопрос разработчику WR-Forum...
Страницы:  1  2  3  4  5  

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени для обращения к участнику

Смайлы:

Ещё смайлы
Эмодзи
         
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Какой сейчас год?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.3 UTF-8 beta версия