Относительные пути и каталоги php. Относительные пути и каталоги php Кто использует MM Clearing System

Мне интересно что-то, но я не могу найти хороший, ясный ответ или даже решение этой проблемы:

Мой сайт PHP имеет следующую структуру:

root functions generators helpers scripts style index.

Это все папки и один файл php. Функции содержат связные операционные файлы php, связанные с подключением к базе данных, и различные другие операции с базой данных, такие как вставка, удаление, обновление, … Генераторы содержат классы для автоматического создания веб-страниц, чтобы они выглядели одинаково. Помощники – это классы, которые обрабатывают логин, выход из системы, регистрацию и т. Д. Скрипты – это javascript, а стиль – CSS.

В моей папке генераторов есть файл mainGenerator.php, это создает различные части веб-сайта:

Private function generateLogin() { if (!isLoggedIn()) { echo "

Login

Username:
Password:

No account yet? Register

"; } else { echo "

Welome, " . $_SESSION["user_name"] . "

Log off"; } }

Этот фрагмент кода создает окно регистрации на каждой странице или отображает приветственное сообщение, если пользователь уже зарегистрирован. Как вы можете видеть, действие ссылается на «../helpers/login.php», поскольку это относительное расположение логин-помощник с точки зрения этого генератора.

Теперь вот проблема: если я нажму кнопку входа в index.php (http://example.com/ProjectName/index.php), она перенаправит меня на http://example.com/helpers/login.php и говорит, что файл не найден.

Я вижу, в чем проблема: post post видит запрос, поступающий из index.php, и поднимается на один , а затем ищет /helpers/login.php, которого, конечно, не существует.

Исправить может быть изменение действия на

Action="/helpers/login.php"

но это дает мне ту же проблему, если мне нужен доступ к generateLogin () из определенного подкаталога … Как решить эту конкретную проблему, то есть: ссылка на /helpers/login.php остается правильной, независимо от того, где Я пытаюсь получить к нему доступ.

Action="/ProjectName/helpers/login.php"

Предполагая, что ваш корень http: // localhost, указанная выше ссылка должна всегда разрешаться на http: //localhost/ProjectName/helpers/login.php , вызвана ли она из http: //localhost/ProjectName/index.php или http: // локальный / ProjectName / подкаталог / index.php

Если вы не хотите жестко кодировать «ProjectName» во множество разных сценариев, вы можете использовать глобальную переменную и определить ее в файле конфигурации:

хелперы / ConfigOptions.php:

Затем в ваших сценариях включите файл конфигурации и используйте указанную переменную:

index.php:

Include $_SERVER["DOCUMENT_ROOT"] . "/helpers/ConfigOptions.php"; ... echo "

.... ";

Подробнее о DOCUMENT_ROOT:

DOCUMENT_ROOT определяется в файле конфигурации сервера и является корнем в файловой системе, где выполняются скрипты, а не веб-адрес, который вы вводите в браузере. В приведенном выше примере я предполагаю, что корень документа выглядит примерно как / home / user / www / ProjectName. Если DOCUMENT_ROOT является только / home / user / www, вы можете изменить свой путь include к этому:

Include $_SERVER["DOCUMENT_ROOT"] . "/ProjectName/helpers/ConfigOptions.php";

или использовать относительный путь. Мое голосование будет на последнем, так как вам не нужно жестко указывать «Имя проекта».

Поэтому include () и require () будут принимать либо:

  1. Абсолютный путь к файлу
  2. Путь, относящийся к текущему исполняемому скрипту. Если A включает B и B, включает C, когда B включает C, он должен предоставить путь, который является относительно A.

Итак, когда вам нужно использовать DOCUMENT_ROOT? Обычно с шаблонами, где относительный путь, например../helpers/file.php может разрешать разные абсолютные пути в зависимости от того, что включает файл. В приведенном выше примере, где index.php включает ConfigOptions.php, вам, вероятно, не нужно использовать DOCUMENT_ROOT, поскольку index.php не является шаблоном. Я использовал его в любом случае, чтобы быть в безопасности, но, возможно, я открыл здесь целую червь червей. Надеюсь, я больше тебя не смутил.

Поэтому, если ваша страница www.example.com/mySite/foo.html и у вас есть такая ссылка: Bar/ пользователь будет перенаправлен на www.example.com/bar.html …

Вы должны просто указать свою точку действия формы для helpers/login.php

Меняем ссылку страницы регистрации пользователей на сайте , можно изменить название страницы для регистрации и ссылку перехода на свою.

Хак "Меняем ссылку страницы регистрации пользователей" разработан для 11.1 версии движка. Такая реализация полезна, если веб-мастер хочет уменьшить нагрузку на сайта при интенсивном спаме страницы регистрации, которую могут использовать для создания спам-пользователей. Защититься от этого можно этим хаком или хорошей капчей.

Вместо слова "название вашей страницы" используйте любое другое слово (оно должно быть уникальным для вашего сайта).

2. Открыть: engine/init.php
Найти: $tpl->set("{registration-link}", $PHP_SELF . "?do=register");
Заменить на: $tpl->set("{registration-link}", $PHP_SELF . "?do={$config["register"]}");

3. Открыть: engine/engine.php
Найти: case "register" :
Заменить на: case $config["register"] :
Найти: elseif ($do == "register") $nam_e = $lang["title_register"];
Заменить на: elseif ($do == $config["register"]) $nam_e = $lang["title_register"];

4. Открыть: engine/modules/static.php
Найти: if($_GET["page"] == "dle-rules-page") if($do != "register") {
Заменить на: if($_GET["page"] == "dle-rules-page") if($do != $config["register"]) { Найти: $tpl->set("{ACCEPT-DECLINE}", "

");
Заменить на: $tpl->set("{ACCEPT-DECLINE}", "
");

5. Открыть: engine/modules/register.php
Найти: $row["template"] = str_replace("{%validationlink%}", $slink . "index.php?do=register&doaction=validating&id=" . $idlink, $row["template"]);
Заменить на: $row["template"] = str_replace("{%validationlink%}", $slink . "index.php?do={$config["register"]}&doaction=validating&id=" . $idlink, $row["template"]);
Найти:
Заменить на:
Найти: msgbox($lang["all_info"], $lang["confirm_ok"] . "

" . $lang["reg_next"] . "");
Заменить на: msgbox($lang["all_info"], $lang["confirm_ok"] . "

" . $lang["reg_next"] . "");

6. Открыть: templates/Default/login.tpl
Найти старую ссылку и заменить на: {registration-link}
Пример готовой ссылки: Регистрация
7. Открыть: robots.txt
Найти и удалить: Disallow: /*do=register

8. Завершение установки

Если вы снова захотите поменять адрес страницы, то в файле engine/data/config.php найдите и замените строку "register" => "название вашей страницы" на любое другое.

Версия : 11.x в том числе для новой версии

Why are cookies useful?

We use functional cookies to analyse how visitors use our website, as well as track and improve our website’s performance and function. This allows us to provide a high-quality customer experience by quickly identifying and fixing any issues that may arise. For example, we might use cookies to keep track of which website pages are most popular and which method of linking between website pages is most effective. The latter also helps us to track if you were referred to us by another website and improve our future advertising campaigns.

Another use of cookies is to store your log in sessions, meaning that when you log in to the Members Area to deposit funds, a "session cookie" is set so that the website remembers that you have already logged in. If the website did not set this cookie, you will be asked for your login and password on each new page as you progress through the funding process.

In addition, functional cookies, for example, are used to allow us to remember your preferences and identify you as a user, ensure your information is secure and operate more reliably and efficiently. For example, cookies save you the trouble of typing in your username every time you access our trading platform, and recall your preferences, such as which language you wish to see when you log in.

Here is an overview of some of the functions our cookies provide us with:

  • Verifying your identity and detecting the country you are currently visiting from
  • Checking browser type and device
  • Tracking which site the user was referred from
  • Allowing third parties to customize content accordingly

This website uses Google Analytics, a web analytics service provided by Google, Inc. ("Google"). Google Analytics uses analytical cookies placed on your computer, to help the website analyze a user"s use of the website. The information generated by the cookie about your use of the website (including your IP address) may be transmitted to and stored by Google on their servers. Google may use this information to evaluate your use of the website, to compile reports on website activity and to provide other services related to website activity and internet usage. Google may also transfer this information to third parties, where required to do so by law, or where such third parties process the information on behalf of Google. Google will not associate your IP address with any other data held. By using this website, you give your consent to Google to process data about you in the manner and for the purposes set out above.

Спонсор*

Изображение профиля

Изображение профиля можно загрузить только в формате jpg, jpeg a png.
Загрузить

Заявитель

*
мужской женский




Čeština English Deutsch Italiano Slovenčina Русский Slovenščina Eλληνικά Español Hrvatski Srpski Français Român Magyar Türk







Контакты






Aruba Andorra Afghanistan Angola Albania United Arab Emirates Argentina Armenia American Samoa Antigua and Barbuda Australia Austria Azerbaijan Burundi Belgium Benin Burkina Faso Bangladesh Bulgaria Bahrain Bahamas, The Bosnia and Herzegovina Belarus Belize Bermuda Bolivia Brazil Barbados Brunei Darussalam Bhutan Botswana Central African Republic Canada Switzerland Channel Islands Chile China Cote d"Ivoire Cameroon Congo, Rep. Colombia Comoros Cape Verde Costa Rica Cuba Curacao Cayman Islands Cyprus Czech Republic Germany Djibouti Dominica Denmark Dominican Republic Algeria Ecuador Egypt, Arab Rep. Eritrea Spain Estonia Ethiopia Finland Fiji France Faeroe Islands Micronesia, Fed. Sts. Gabon United Kingdom Georgia Ghana Gibraltar Guinea Gambia, The Guinea-Bissau Equatorial Guinea Greece Grenada Greenland Guatemala Guam Guyana Hong Kong SAR, China Honduras Croatia Haiti Hungary Indonesia Isle of Man India Ireland Iran, Islamic Rep. Iraq Iceland Israel Italy Jamaica Jordan Japan Kazakhstan Kenya Kyrgyz Republic Cambodia Kiribati St. Kitts and Nevis Korea, Rep. Kosovo Kuwait Lao PDR Lebanon Liberia Libya St. Lucia Liechtenstein Sri Lanka Lesotho Lithuania Luxembourg Latvia Macao SAR, China St. Martin (French part) Morocco Monaco Moldova Madagascar Maldives Mexico Marshall Islands Macedonia, FYR Mali Malta Myanmar Montenegro Mongolia Northern Mariana Islands Mozambique Mauritania Mauritius Malawi Malaysia Mayotte Namibia New Caledonia Niger Nigeria Nicaragua Netherlands Norway Nepal New Zealand Oman Pakistan Panama Peru Philippines Palau Papua New Guinea Poland Puerto Rico Korea, Dem. Rep. Portugal Paraguay French Polynesia Qatar Romania Russian Federation Rwanda Saudi Arabia Sudan Senegal Singapore Solomon Islands Sierra Leone El Salvador San Marino Somalia Serbia S?o Tom? and Principe Suriname Slovak Republic Slovenia Sweden Swaziland Sint Maarten (Dutch part) Seychelles Syrian Arab Republic Turks and Caicos Islands Chad Togo Thailand Tajikistan Turkmenistan Timor-Leste Tonga Trinidad and Tobago Tunisia Turkey Tuvalu Tanzania Uganda Ukraine Uruguay United States Uzbekistan St. Vincent and the Grenadines Venezuela, RB Virgin Islands (U.S.) Vietnam Vanuatu West Bank and Gaza Samoa Yemen, Rep. South Africa Congo, Dem. Rep. Zambia Zimbabwe Abkhazia

MM Clearing System - эта система приема платежей созданная компанией «Мани Муверс» с чистого листа, которая была разработана в соответствии с требованиями международного рынка. Она включает в себя современный программно-аппаратный комплекс, который полностью разрабатывается командой профессионалов нашей компании.

MMCS - Принцип работы, на первый взгляд, простой: система получает платежи онлайн из сети агентов и передает сервис-провайдеру. Таким образом, система консолидирует трафик в одной точке, что выгодно как для сервис-провайдера, также для агента. Интеграция осуществляется в одной точке для обеих сторон, что означает следующее - Никаких дополнительных затрат!

Агент это субъект, который обладает пунктами приемов платежей: веб-сайт, терминал самообслуживания, сервис-центр приема платежей и т.д.

Сервис-провайдер представляет Юридическое лицо, которое продает сервис или продукцию онлайн.

World of Tanks, Odnoklassniki, Mail.ru Group, Skype, Vivus, Netcredit, Yandex, WebMoney, Valve, iTunes, Грузинские и иностранные мобильные операторы и до 700 другие сервис-провайдеры

Опытные Предпочитают MMCS!

Агенты подключенные к MMCS охватывают ряд стран по всему миру, в том числе: Турцию, Италию, Россию, Казахстан, Таджикистан, Китай, Азербайджан, Армению и другие.

Мы ломаем Границы!


MMCS обрабатывает более 40-60 миллионов транзакции ежегодно на сумму в несколько сотен миллионов долларов.

Кто использует MM Clearing System?

Компании (сервис-провайдеры)
Компании (сервис-провайдеры), которые продают определенные продукты или услуги и желают организовать прием платежей с помощью широкой сети. Благодаря системе, они экономят деньги и энергию, так как с присоединением к MMCS они связываются с обширной сетью платежного рынка и им больше не надо соединятся с многочисленными платежными системами по отдельности.
Физические или юридические лица
Физические или юридические лица, которые готовы принимать оплату с собственной инфраструктурой в пользу различных сервис-провайдеров. Присоединения к MMCS дает возможность одной интеграцией получать платежи в пользу 400 сервис-провайдеров с самой высокой комиссией доступной на рынке, на каждый исполненный платеж.

Преимущества нашей системы по сравнению с другими аналогичными системами:

  • Мы крупнейший агрегатор в Грузии;
  • Представительство ведущих электронных кошельков в мире;
  • У нас Прямые контракты с крупными провайдерами;
  • Мы сотрудничаем до 700 сервис-провайдерами;
  • Обработка 40-60 миллионов транзакции ежегодно;
  • Крупнейшая сеть агентов в Грузии и за ее пределами;
  • Сотрудничаем с 80 компаниями в 12 различных стран;
  • Возможность пополнения денег используя до 100,000 терминалов самообслуживания, как в Грузии, так и в разных странах;
  • Наиболее гибкий метод управления для агентов с современной панелью управления;
  • Современная техническая поддержка и системы безопасности;
  • Полностью автоматизированный рабочий документооборот;
  • >Ежедневная и периодическая комплексная статистика.