Изменение расположения действия формы в CodeIgniter - PullRequest
0 голосов
/ 14 сентября 2010

Я пишу веб-приложение, используя Codeigniter для клиента, и использую одну из своих внутренних машин разработки.Из-за ограничений безопасности порт веб-сервера является только внутренним и не подвержен влиянию внешнего мира, поэтому я должен получить к нему доступ через туннель SSH.Поэтому я подключился к веб-серверу следующим образом: http://localhost/path_to_data.

Я создаю форму в Codeigniter с использованием стандартного помощника по формам, единственная проблема заключается в том, что действие формы направлено на местоположение поля из Codeigniter.Конфигурационный файлЯ не могу изменить это значение конфигурации, потому что у нас есть внутренние разработчики, которые также обращаются к нему, которые не используют туннель SSH, поэтому они обращаются к нему по «настоящему» URL.

Есть ли способ заставить Codeigniter использоватьформа, указывающая на себя относительным путем вместо полного пути?

1 Ответ

0 голосов
/ 14 сентября 2010

form_open() использует базовый URL-адрес, заданный в config.php: $config['base_url'].Попробуйте сделать его условным, основываясь на $_SERVER['SERVER_NAME'].Таким образом, как внутренние разработчики, использующие, скажем, «http://demo.local",», так и вы, использующие «http://localhost/"», смогут видеть правильные абсолютные URL-адреса в зависимости от того, как они обращаются к серверу.1008 *

$config['base_url'] = 'http://demo.local/' ;
if ($_SERVER['SERVER_NAME'] == 'localhost') {
    $config['base_url'] = http://localhost/' ;
}

В качестве идентификатора я замечаю, что form_open () проверяет, является ли переданный параметр полным URL-адресом (особенно, если он включает «: //»), и еслизатем он устанавливает его как действие формы без какой-либо обработки.Таким образом, вы можете вызывать form_open("http://localhost/form_submit") и использовать его как есть без base_url.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...