|
|
|
| Добрый день! Возникла проблема, как прописать путь к файлу. Проблема в чем есть грубо говоря 3 файла, один файл с формой, здесь пользователь делает свой выбор
<?php
// делаем запрос;
$query_tip_complect = mysql_query ("select * from tbl_tip_complect order by tip_complect");
// выводим форму select
echo "<select name=\"tip_complect\" id=\"tip_complect\" onchange=\"getProizvList(this)\">";
echo "<option value=\"0\">------ Не выбрано ------</option>";
// выводим полученые данные
if(mysql_num_rows($query_tip_complect) > 0)
{
while (list($id_tip, $tip) = mysql_fetch_row($query_tip_complect))
{
// выводим список
echo "<option value=\"".$id_tip."\">".$tip."</option>";
}
}
echo "</select>";
?>
|
Потом действие переходит к файлу с JavaScript-ом, тут значит делается запрос к 3-му файлу на пхп, и возвращается назад.
<?php
var ajax = new Array();
function getProizvList(sel)
{
var proizvCode = sel.options[sel.selectedIndex].value;
document.getElementById('proizvoditel').options.length = 0;
if (proizvCode.length > 0)
{
var index = ajax.length;
ajax[index] = new sack();
ajax[index].requestFile = 'getcities.php?proizvCode=' + proizvCode;
ajax[index].onCompletion = function() { createProizv(index) };
ajax[index].runAJAX(); // Execute AJAX function
}
}
function createProizv(index)
{
var obj = document.getElementById('proizvoditel');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}
?>
|
Проблема в том что файл пхп должен находится в одной директории с первым файлом потому что в JavaScripte так прописано ajax[index].requestFile = 'getcities.php?proizvCode=' + proizvCode;, как прописать путь к пхп файлу getcities.php чтоб его можно было расположить в произвольной директории? | |
|
|
|
|
|
|
|
для: magic
(10.03.2011 в 18:52)
| | А вы укажите абсолютный путь, т.е. вместо относительного пути
ajax[index].requestFile = 'getcities.php?proizvCode=' + proizvCode;
| запишите путь от корня сайта
ajax[index].requestFile = '/путь/к/файлу/getcities.php?proizvCode=' + proizvCode;
|
| |
|
|
|
|
|
|
|
для: cheops
(10.03.2011 в 18:57)
| | Почему то не помогает, если я вас правильно понял то я вот так сделал, но это я пробывал и раньше эффекта нет. ajax[index].requestFile = 'http://mysite/standart/modules/getcities.php?proizvCode=' + proizvCode;
Получается что, возвращается пустой результат, т.е. следующая форма в которой должен подгрузится результат пустая | |
|
|
|
|
|
|
|
для: magic
(10.03.2011 в 19:10)
| | Хм... а если напрямую обратиться к пути http://mysite/standart/modules/getcities.php?proizvCode=' + proizvCode - никаких аномалий нет? Результат в браузер отображается? | |
|
|
|
|
|
|
|
для: magic
(10.03.2011 в 18:52)
| | Перечитайте свой вопрос:
как прописать путь к пхп файлу getcities.php чтоб его можно было расположить в ПРОИЗВОЛЬНОЙ директории?
|
А теперь почитайте мой вопрос (по смыслу он АНАЛОГИЧЕН Вашему):
как мне указать мой домашний адрес, чтобы меня можно было найти в ПРОИЗВОЛЬНОЙ точке планеты Земля?
|
-----
Всякий файл имеет свой конкретный точный адрес.
Его ещё называют АБСОЛЮТНЫМ.
Есть и ОТНОСИТЕЛЬНЫЙ - но он именно что относительный - он всякий раз РАЗНЫЙ, в зависимости от места (файла), из которого по этому относительному адресу вызывают.
В двух метрах справа - относительно моего рабочего стола - окно.
Но это же не значит, что и "в двух метрах справа" относительно Вас (и кого-либо другого) тоже обязательно есть окно... | |
|
|
|
|
|
|
|
для: Абырвалг
(10.03.2011 в 19:30)
| | Ну а как же быть, я выше написал, что я пробывал с абсолютным путем, не помогает, посмотрите пожалуйста выше, проверте, может я что то не так написал | |
|
|
|
|
автор: ТриП (10.03.2011 в 20:06) |
|
|
для: magic
(10.03.2011 в 19:44)
| | symlink() | |
|
|
|
|
|
|
|
для: ТриП
(10.03.2011 в 20:06)
| | Чет не могу найти как его юзать. Может поможете, еще советом, заранее спасибо | |
|
|
|
|
|
|
|
для: magic
(10.03.2011 в 21:27)
| | . | |
|
|
|
|
|
|
|
для: magic
(10.03.2011 в 21:27)
| | symlink здесь вообще не в тему.
В общем, расшифруйте подробнее свою фразу: "есть грубо говоря 3 файла", сиречь, вместо "грубого" скажите точно:
а) абсолютные URL's 1, 2 и 3 файлов в виде: http://site.ru/путь к файлу плюс его имя;
б) в каком именно из этих трёх файлов возникают проблемы при обращении к какому именно из этих трёх файлов;
в) причём тут ТРЕТИЙ файл, если проблема в одном (ПЕРВЫЙ файл) при обращении к другому (ВТОРОМУ файлу)?
----
При описании проблемы давайте здесь HTML-код (то, что получает браузер), а не PHP-бред. | |
|
|
|
|
|
|
|
для: Абырвалг
(11.03.2011 в 16:13)
| | Есть 3 файла.
http://mysite/complect.html, на этой странице написана обычная HTML-форма (select). При выборе из списка происходит перехват вторым файлом JavaScript-файл, по адресу http://mysite/skins/js/chained.js, с последующей передаейа 3-му файлу ПХП-шнему, по адресу http://mysite/getcities.php. Как видно из адресов файл с HTML-формой, находятся в одной директории с ПХП-шным. Во втором файле с JavaScript прописан путь ajax[index].requestFile = 'getcities.php?proizvCode=' + proizvCode;. Вот вопрос как мне прописать путь в этом месте, чтобы ПХП-шный файл убрать в другую директорию. Например http://mysite/modules/getcities.php.
P.S. Написал что то я так что сам не разберу. | |
|
|
|
|
|
|
|
для: magic
(11.03.2011 в 23:52)
| | JS-файл http://mysite/skins/js/chained.js подключается в HTML-файл как "внешний скрипт", сиречь через инструкцию <script src="http://mysite/skins/js/chained.js"></script>?
Если Ваш ответ - "ДА", то тогда имейте в виду, что этот JS-файл может находиться ГДЕ УГОДНО, хоть на чужом сервере - все относительные ссылки внутри этого JS-файла при его подключении будут определяться относительно того HTML-файла, к которому этот JS-файл подключён.
Для Вашего случая должно быть указано:
ajax[index].requestFile = 'modules/getcities.php?proizvCode=' + proizvCode;
| , так как отсчёт относительных ссылок будет идти от файла complect.html, который находится в корневой директории сайта. | |
|
|
|
|
|
|
|
для: Абырвалг
(12.03.2011 в 00:15)
| | Да Вы все правильно сказали, я тоже об этом знал. Но вот проблема, как только файл переношу в другую директорию, в файле javascript естественно делаю поправку на адрес как Вы написали, сразу перестает работать. Получается все работает происходит перехват, но следующая форма остается просто пустой. Даже пробывал указывать абсолютный путь ко всем файлам тоже самое. Вот в чем проблема, не могу понять. | |
|
|
|
|
|
|
|
для: magic
(12.03.2011 в 00:44)
| | >"в файле javascript естественно делаю поправку на адрес как Вы написали"
Вы о чём?
Я такой ХЕРНИ не писал.
Наоборот, я написал, что НЕВАЖНО - где будет находиться JS-файл.
Вы можете таскать его по любым директориям сайта БЕЗО ВСЯКИХ изменений В НЁМ.
Неужели не поняли?
Поясняю примером:
Пусть у Вас есть HTML-файл под названием test.html, который находится в корневой директории сайта. И пусть там же (в корневой директории) имеется папка IMAGES, где имеется нужная Вам картинка picture2.jpg:
<html>
<head>
<script>
function myFunc (x)
{
x.src = 'images/picture2.jpg';
}
</script>
</head>
<body>
<img src="images/picture1.jpg" onclick="myFunc (this)">
</body>
</html>
|
Вы можете выделенное жирно записать отдельным JS-файлом - КАК ЕСТЬ, безо всяких изменений и поместить КУДА УГОДНО. А потом изменить место размещения - в другую подпапку другой папки... А потом - снова изменить местоположение... И так - МИЛЛИОН МИЛЛИОНОВ РАЗ.
JS-код этого файла при изменении его месторасположения меняться НЕ ДОЛЖЕН.
Будет меняться только путь, когда Вы этот JS-файл будете подключать в теге <script src="изменения ТОЛЬКО ЗДЕСЬ"></script> | |
|
|
|
|
|
|
|
для: Абырвалг
(12.03.2011 в 00:58)
| | Так вот и я Вам об этом. Пусть у Вас есть HTML-файл под названием test.html, который находится в корневой директории сайта. И пусть там же (в корневой директории) имеется папка IMAGES, где имеется нужная Вам картинка picture2.jpg. И Вы пишите: 'images/picture2.jpg'
<html>
<head>
<script>
function myFunc (x)
{
x.src = 'images/picture2.jpg';
}
</script>
</head>
<body>
<img src="images/picture1.jpg" onclick="myFunc (this)">
</body>
</html>
|
Но если Ваша картинка picture2.jpg находится в одной директории с test.html, то Вы напишите так:
<html>
<head>
<script>
function myFunc (x)
{
x.src = 'picture2.jpg';
}
</script>
</head>
<body>
<img src="images/picture1.jpg" onclick="myFunc (this)">
</body>
</html>
|
Я прав? Если да то тогда вопрос. Почему 'picture2.jpg' работает, а когда делаем вот так 'images/picture2.jpg' не работает. Файл естественно перемещаем тоже picture2.jpg | |
|
|
|
|
|
|
|
для: magic
(12.03.2011 в 01:56)
| | >"Почему 'picture2.jpg' работает, а когда делаем вот так 'images/picture2.jpg' не работает. Файл естественно перемещаем тоже picture2.jpg"
Если относительный путь к картинке указываете ПРАВИЛЬНО, то всё будет работать.
А если не работает - значит, что-то в относительном пути указали неверно.
Других вариантов НЕТ и БЫТЬ НЕ МОЖЕТ.
Раз у Вас не работает - значит, лично Вы где-то "накосячили" и не надо искать чего-то такого особо-необычного.
-----
Для проверки Вам НИКТО не мешает вместо Вашего ajax[index].requestFile = 'modules/getcities.php?proizvCode=' + proizvCode; написать, например, "тестовое" изменение какой-либо картинки страницы на тот же src='modules/getcities.php?proizvCode=' + proizvCode и затем в браузере навести мышь на эту "картинку" и, щелкнув правой её кнопкой, через контекстное меню посмотреть на "свойства" этой "картинки" - там будет указан её абсолютный URL. Таким образом Вы свою ошибку и увидите. | |
|
|
|