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

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

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

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 20.04.2024 - 04:42:35
Страницы:  1  2  3  4  ... 6

Что за ошибка?

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

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

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

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

Maksir

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

Николай, вот. в этом всё и дело. WR пишит скрипты под старые версии PHP. В readmy.html , там что написано?
Можно исправить ошибку самим. Для этого нуно постараться хотя бы найти строку в этом файле, на который ссылается скрипт. номер строки. найти функцию. Найти в книге по PHP , или на ресурсе php.su листинг этой функции. Там подробно описанно использование этой функции.
Если скрипт ссылается на переменую raz в 1075 строке, значит эта переменная не объявлена. Значит её нужно объявить, что она есть. Для этого в начале файла достаточно впичать значение $raz=0; хотя бы так для начала.

Сообщение # 13 25.01.09 - 04:51:03

Николай

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

Нашел в tools.php
if ($raz!="razdel") {
$maxzd=$dt[12]; if (!ctype_digit($maxzd)) {$maxzd=0;} // считываем ЗВЁЗДы раздела из файла
}
Переменная raz встречается только в admin.php

Сообщение # 14 25.01.09 - 05:14:22

Maksir

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

Николай, просто, в более новых версиях PHP сделана специально необходимость проверки на случай подмены истиных значений переменых.

Например, если я в строке адреса впечатаю raz=config.php , или любое другое значение, или несуществующее число, то PHP код будет ломаться, что приведёт к неожиданному результату. По этому, PHP рапартует об ошибке на эту "необъявленную" переменную. Потому что, если вначале файла с кодом, эту переменную заранее вписать и прировнять, например, к нулю, или вовсе ни к чему не приравнивать - просто оставить кавычки, то тогда код PHP будет более устойчевым. Вписывай, не вписывай, PHP сценарий всё равно сначала обнулит значение, а потому произведёт правельный вычеслительный процесс.

2. Есть ещё типы даных. Думаю, в скором врремени PHP будет таким же, как С++. То есть, без объявленых переменных ничего не будет работать. А объявлять их нужно будет к определенному типу данных. Ну, или как-то так...

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


Код:

if ($raz!="razdel") {
}

Тело функции я специально убрал, что бы было понятно на что следует обратить внимание.
Перевожу на понятный язык, что там в условии написанно:

Переменная $raz нетолько должна/обязана быть, она ещё по условию может быть равна чему угодно. Но если она не равна значению razdel, значит выполняется порядок, тело, всё что в фигурных скобках.

Это представление переменной является ошибочным представлением. Надеюсь, всем понятен смысл?
Чему должна равняться переменная, какому типу данных, это нужно посмотреть часть кода, или посмотреть при котором значении скрипт работает, т.е посмотреть что должно быть равным переменной "raz" , посмотреть => в адресной строке. Естественно, на том сервере, где этот скрипт работает. Например здесь.

Сообщение # 15 25.01.09 - 13:27:42

Maksir

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

проверил.
значит, если вообще не выводится (не передаётся) в строке адреса никакого значения в переменной raz, значит перед условием
Код:

if ($raz!="razdel") {
}

ставим такую штуку:
Код:
var_dump($raz);
if ($raz!="razdel") {
}

Которая нам всё покажет.

В конечном итоге, нужно подставить правильные условия и объявить переменну, чем она является.

Сообщение # 16 25.01.09 - 13:36:26

Николай

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

Нашел подобные ошибки на сайтах http://single.far.ru/forum/index.php и http://radiochel.ru/yabbse/index.php
Временно решил проблему убрав тело всей функции. Ну а что-бы не было ошибок выставил переменную maxzd равной нулю. Я так понял эта переменная отвечает за количество звезд в теме. На работоспособности форума это не отразилось (пока-что)

Сообщение # 17 25.01.09 - 18:23:10

Злой

З
гость

Что мне делать с этой ошибкой ???
Notice: Undefined variable: msgsize in блаблабла/admin.php on line 1336

Хостинг Юникс, PHP 5.2.8

Сообщение # 18 02.02.09 - 19:51:45

Maksir

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

Злой, а вы сами ответили на данный вопрос -- PHP 5.2.8
В readmy.html WR пишит для какой версии PHP писался скрипт.
Ну, эту ошибку можно побороть двумя ручками. Но, думаю, такая ошибка не единственная и придётся исправлять много подобных вещей.

1. поменять версию PHP
2. модернезировать сам скрипт.

p.s. в данной ситуации имеется необъявленная переменная msgsize
Нужно дописать строчку примерно такого содержания

Код:

if (!isset(msgsize)) { $msgsize=''; // переменная объявлена и она ровна нулю, что бы не было ошибки
} else {
$msgsize="$_POST['msgsize']"; // Переменная объявлена и она ровна переданным данным
// Содержимое всего блока, где-то в районе строки 1336 заключить закрывающей скобкой }
Где-то так... возможно я не прав. нужно опробовать.
Смысл заключается в следующем -- нужно объявить переменную. Дописать точно, чем она является.

Сообщение # 19 02.02.09 - 23:46:10

Maksir

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

скажем так -- и она равна нулю...

Сообщение # 20 02.02.09 - 23:47:48

Мишаня

М
гость

Вот поставил ваш форум и столкнулся вот с такой проблемкой. когда я ввоже логин - администратор, пароль admin. Страничка заново открывается. Когда ввожу логин -модератор, пароль admin выходит вот такая ошибка Notice: Undefined variable: ck in D:\inetpub\vhosts\virtera.ru\subdomains\best\httpdocs\forum\admin.php on line 117
'ib для Ваш данные ОШИБОЧНЫ! Помогите пожалуйста решить данную проблему. А то в админку не могу попасть (За ранее спасибо)

Сообщение # 21 04.02.09 - 22:24:01

Maksir

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

Мишаня, а модератор кто?
В файле readmy.html , там есть какие-нибудь пояснения по этому вопросу?

Сообщение # 22 04.02.09 - 23:51:34

Мишаня

М
гость

да модератора нет, просто не могу зайти в админку, на форум входит. Вод адрес форума http://www.best.virtera.ru/forum/index.php Ничего не менял из паролей.

Сообщение # 23 04.02.09 - 23:57:02

Чайник

Ч
гость

Дорогой WR, большое спасибо за Ваш труд.
"Легкий" и мобильный форум без использования серверной базы - важная и неосвоенная ниша ПО, актуальная для многих.
Если к WR-forum-у добавить возможность подписки на новые сообщения по текущей теме и редактирование постов, то он действительно будет не уступать "тяжелым" форумам.

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

Может ли сам скрипт, в принципе, сам менять атрибуты файлов?
Спасибо

Сообщение # 24 05.02.09 - 15:14:09
Выход с форума в главное меню сайта :Предыдущая темаСледующая тема: Ошибки в 1.8.St2. Только у меня??
Страницы:  1  2  3  4  ... 6

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

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

Смайлы:

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