Здравствуйте. Разбираюсь в одной программе. Не подскажете, что означает оператор $a = sed_import('a','G','TXT') Где sed_import по-видимому название таблицы в базе данных. Что это означает, что переменной а присваивается таблица? Или какая-то ячейка таблицы, тогда какая?
Если верить гуглю, то это какой-то движок Seditio CMS. Последняя запись в ленте новостей датируется 2014 годом. Думаю, что даже интересовать этим нет смысла, не то что использовать. Функция sed_import()
Спасибо, вы подсказали... Да, это движок Seditio. Просто там все таблицы начинаются с приставки sed, поэтому так подумала. Как раз и использую этот движок, с одним старым дампом базы данных, другие просто не подойдут. Но не работает одна из функций, поэтому хочу последовательно разобрать текст одного плагина и попробовать найти, где может совершаться ошибка. Вот такие дела... Если это функция... то надо подумать и разобраться, а потом уже дальше разбираться... И что в результате присваивается переменной а ?, не поняла... это буквально почти первый оператор в этом плагине. Или это просто описание переменной, и данная строка означает, что переменная будет браться как текстовая от источника URL ? Так? А, поняла, нужно смотреть теперь текст этой функции, что она делает. Там написано: "Функция sed_import() важная часть Seditio, она обрабатывает импорт и фильтрует переменные в скриптах."
Так вот я и пытаюсь разобраться... так у меня есть мотивация разобраться в php. А без поиска этой ошибки не очень... Но не думайте, что я совсем не программист, когда-то писала программы на паскале. Просто php отличается... А где должен быть текст этой процедуры sed_import ? В пакете для форума его похоже нет. Или должен быть?
Спасибо, нашла... в файле function.php Теперь думаю... разбираться в тексте этой функции или дальше в тексте плагина. В тексте функции почти сразу вижу case 'G': $v = $_GET[$name]; Справа... это что, похоже на переменную, со знаком доллара, но есть аргумент, на этот раз в квадратных скобках. Что это означает - может, массив? И черта перед GET означает что-то или нет?
Да, это массив, но вы так далеко на гадании не уедете. Вам уже дал совет @mkramer выше. Для того, чтобы хоть как-то понимать код любого ЯП, нужно знать его основы, синтаксис.
Скажите, что означает в этом операторе $sql = sed_sql_query("SELECT user_id, user_name, user_lostpass FROM $db_users WHERE user_email='".sed_sql_prep($email)."' ORDER BY user_id ASC LIMIT 1"); вот это последнее "' ORDER BY user_id ASC LIMIT 1" Дело в том, что исследуемая функция почему-то работает для одного пользователя и не работает для другого. Думаю, может быть, дело в их id номерах - у одного трехзначный, у другого четырехзначный. Кроме того, тот у кого работает, входит в группу администраторы. Других отличий между ними не вижу особо.
Слово LIMIT как переводится, знаете? http://www.mysql.ru/docs/man/SELECT.html - читайте про mysql --- Добавлено --- Посмотрите, какой запрос генерится для одного пользователя, какой для другого, попробуйте их в phpMyAdmin. Чтоб посмотреть запрос, замените временно sed_sql_query на die - это заставит интерпретатор прервать выполнение скрипта с выводом строки запроса
mkramer, спасибо, о параметрах оператора SELECT прочитала и разобралась в них. Что такое limit, asc, order... Сделала для того пользователя, у которого функция не работает. Не работает функция "Забыли пароль?" Сначала в файле заменила на die, как вы сказали, потом ввела его адрес почты, и вот что появилось на экране (стертый адрес почты отобразился правильно). Для второго пользователя результат на экране точно такой же, только уже его адрес почты. Что дальше делать? Что означает "попробуйте их в phpMyAdmin", как это делается?
@Mari88, ну вы совсем ничего не читали ни про язык, ни про инструменты разработчика... phpmyadmin - это утилита для работы с базой данных. Если сайт на хостинге, то надо узнавать у хостера в помощи или смотреть в панели, как вызывается. На форуме вам всё рассказать невозможно. Я же не могу по целой главе книги писать в посте. https://ru.wikipedia.org/wiki/PhpMyAdmin Просто копипастите запрос туда, и смотрите, что вывелось.
Да нет, как входить в phpmyadmin, я знаю, и просматриваю там базы данных, их поля. Спросила, как запрос там делается... конечно, могу спросить и у хостера. "копипастите" что? - эту строку, о которой мы говорим? Или начиная со слова select - потому что до этого, переменная и функция, это же к mysql не относится. И "вывелось" - это опять смотреть на форуме или где-то там в базе данных - ... наверное, на форуме всё же... Но кажется уже ясно, что выводится одинаковый результат , на этом этапе, для обоих пользователей, и для того, у кого работает, и для того, у кого нет. А это одна из первых строк плагина. Значит, ошибка (различие) возникает где-то дальше, так понимаю, нужно дальше смотреть. Видимо, при переходе их из своей почты по ссылке, у одного ссылка логинит его на форуме, а у другого нет. Вот это как найти, где это происходит - переход по ссылке и логин... и в чем различие между отправляемыми им ссылками
Ну там есть вкладка sql-запрос Вот туда копируете то, что вывелось поcле того, как функцию вызова запроса вы изменили на die --- Добавлено --- База должна быть выбрана заранее.