За последние 24 часа нас посетили 41558 программистов и 5733 робота. Сейчас ищут 1576 программистов ...

Что означает оператор

Тема в разделе "PHP для новичков", создана пользователем Mari88, 25 май 2018.

  1. Mari88

    Mari88 Новичок

    С нами с:
    24 май 2018
    Сообщения:
    7
    Симпатии:
    0
    Здравствуйте.
    Разбираюсь в одной программе.
    Не подскажете, что означает оператор

    $a = sed_import('a','G','TXT')

    Где sed_import по-видимому название таблицы в базе данных.
    Что это означает, что переменной а присваивается таблица? Или какая-то ячейка таблицы, тогда какая?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    если после слова идут круглые скобки, то это функция
     
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Если верить гуглю, то это какой-то движок Seditio CMS. Последняя запись в ленте новостей датируется 2014 годом. Думаю, что даже интересовать этим нет смысла, не то что использовать.
    Функция sed_import()
     
  4. Mari88

    Mari88 Новичок

    С нами с:
    24 май 2018
    Сообщения:
    7
    Симпатии:
    0
    Спасибо, вы подсказали...
    Да, это движок Seditio.
    Просто там все таблицы начинаются с приставки sed, поэтому так подумала.
    Как раз и использую этот движок, с одним старым дампом базы данных, другие просто не подойдут.
    Но не работает одна из функций, поэтому хочу последовательно разобрать текст одного плагина и попробовать найти, где может совершаться ошибка. Вот такие дела... :)

    Если это функция... то надо подумать и разобраться, а потом уже дальше разбираться...

    И что в результате присваивается переменной а ?, не поняла... это буквально почти первый оператор в этом плагине.

    Или это просто описание переменной, и данная строка означает, что переменная будет браться как текстовая от источника URL ? Так?

    А, поняла, нужно смотреть теперь текст этой функции, что она делает. Там написано:
    "Функция sed_import() важная часть Seditio, она обрабатывает импорт и фильтрует переменные в скриптах."
     
    #4 Mari88, 25 май 2018
    Последнее редактирование: 25 май 2018
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    @Mari88, сначала надо разобраться в PHP, а потом чего-то ковырять.
     
  6. Mari88

    Mari88 Новичок

    С нами с:
    24 май 2018
    Сообщения:
    7
    Симпатии:
    0
    Так вот я и пытаюсь разобраться...
    так у меня есть мотивация разобраться в php.
    А без поиска этой ошибки не очень...:(

    Но не думайте, что я совсем не программист, когда-то писала программы на паскале. Просто php отличается...

    А где должен быть текст этой процедуры sed_import ?
    В пакете для форума его похоже нет. Или должен быть?
     
  7. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Где-то в файлах должен быть код, который начинается так: function sed_import.
     
  8. Mari88

    Mari88 Новичок

    С нами с:
    24 май 2018
    Сообщения:
    7
    Симпатии:
    0
    Спасибо, нашла... в файле function.php

    Теперь думаю... разбираться в тексте этой функции или дальше в тексте плагина.

    В тексте функции почти сразу вижу

    case 'G':
    $v = $_GET[$name];

    Справа... это что, похоже на переменную, со знаком доллара, но есть аргумент, на этот раз в квадратных скобках.
    Что это означает - может, массив?

    И черта перед GET означает что-то или нет?
     
  9. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Да, это массив, но вы так далеко на гадании не уедете. Вам уже дал совет @mkramer выше. Для того, чтобы хоть как-то понимать код любого ЯП, нужно знать его основы, синтаксис.
     
    ewgenm нравится это.
  10. Mari88

    Mari88 Новичок

    С нами с:
    24 май 2018
    Сообщения:
    7
    Симпатии:
    0
    Скажите, что означает в этом операторе

    $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 номерах - у одного трехзначный, у другого четырехзначный.
    Кроме того, тот у кого работает, входит в группу администраторы. Других отличий между ними не вижу особо.
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Слово LIMIT как переводится, знаете?

    http://www.mysql.ru/docs/man/SELECT.html - читайте про mysql
    --- Добавлено ---
    Посмотрите, какой запрос генерится для одного пользователя, какой для другого, попробуйте их в phpMyAdmin. Чтоб посмотреть запрос, замените временно sed_sql_query на die - это заставит интерпретатор прервать выполнение скрипта с выводом строки запроса
     
  12. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    471
    Симпатии:
    18
    вы ж наверно еще машину водите,а не только программы пишите
    --- Добавлено ---
    как то так....
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    блин чувак ты должен знать хотя б основы
     
  14. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    471
    Симпатии:
    18
    предупреждение
     
    #14 bimply, 26 май 2018
    Последнее редактирование модератором: 26 май 2018
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.333
    Симпатии:
    1.753
    ты чета перегибаешь
     
  16. ArtemPetesburg

    ArtemPetesburg Новичок

    С нами с:
    11 май 2018
    Сообщения:
    48
    Симпатии:
    2
    Адрес:
    Санкт-Петербург
    В переменную отливниваестьяиз гет в массив переменная
     
  17. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Это какой язык?
     
  18. Mari88

    Mari88 Новичок

    С нами с:
    24 май 2018
    Сообщения:
    7
    Симпатии:
    0
    mkramer, спасибо, о параметрах оператора SELECT прочитала и разобралась в них. Что такое limit, asc, order...

    Сделала для того пользователя, у которого функция не работает.
    Не работает функция "Забыли пароль?"

    Сначала в файле заменила на die, как вы сказали, потом ввела его адрес почты, и вот что появилось на экране (стертый адрес почты отобразился правильно).

    zapros2.jpg

    Для второго пользователя результат на экране точно такой же, только уже его адрес почты.

    Что дальше делать?

    Что означает "попробуйте их в phpMyAdmin", как это делается?
     
  19. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    @Mari88, ну вы совсем ничего не читали ни про язык, ни про инструменты разработчика... phpmyadmin - это утилита для работы с базой данных. Если сайт на хостинге, то надо узнавать у хостера в помощи или смотреть в панели, как вызывается. На форуме вам всё рассказать невозможно. Я же не могу по целой главе книги писать в посте. https://ru.wikipedia.org/wiki/PhpMyAdmin

    Просто копипастите запрос туда, и смотрите, что вывелось.
     
  20. Mari88

    Mari88 Новичок

    С нами с:
    24 май 2018
    Сообщения:
    7
    Симпатии:
    0
    Да нет, как входить в phpmyadmin, я знаю, и просматриваю там базы данных, их поля.

    Спросила, как запрос там делается... конечно, могу спросить и у хостера.
    "копипастите" что? - эту строку, о которой мы говорим? Или начиная со слова select - потому что до этого, переменная и функция, это же к mysql не относится.

    И "вывелось" - это опять смотреть на форуме или где-то там в базе данных - ... наверное, на форуме всё же...

    Но кажется уже ясно, что выводится одинаковый результат , на этом этапе, для обоих пользователей, и для того, у кого работает, и для того, у кого нет. А это одна из первых строк плагина. Значит, ошибка (различие) возникает где-то дальше, так понимаю, нужно дальше смотреть.

    Видимо, при переходе их из своей почты по ссылке, у одного ссылка логинит его на форуме, а у другого нет. Вот это как найти, где это происходит - переход по ссылке и логин... и в чем различие между отправляемыми им ссылками
     
  21. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Ну там есть вкладка sql-запрос
    upload_2018-5-31_11-32-57.png
    Вот туда копируете то, что вывелось поcле того, как функцию вызова запроса вы изменили на die
    --- Добавлено ---
    База должна быть выбрана заранее.