|
|
|
| Привет сообществу!
Помогите пожалуйста начинающему.
Вопрос по передаче переменной.
Есть РНР файл, обработчик.
code1.php
При запуске получает значение переменной
$parametr=$_GET['parametr'];
|
и обрабатывает шаблон страницы.
На странице есть кнопка, которая открывает окно с новым содержимым.
Код кнопки в шаблоне:
<input class="button" style="font-size: 11px; float: right;" title="Настройка чата" onclick="iChatAdmin(); return false;" type="button" value="Настройка чата" />
|
Функция iChatAdmin() определяется в файле action.js
(запускает файл "admin.php" ??)
Код функции:
function iChatAdmin()
{
iShowLoading('');
$.get(dle_root + "engine/modules/iChat/ajax/admin.php", { action: "show" }, function(data){
iHideLoading('');
var b = {};
b[iChat_lang[8]] = function() {
CheckUpdates(); return false;
};
b[iChat_lang[7]] = function() {
iChatClearBd(); return false;
};
b[iChat_lang[6]] = function() {
SaveCfg(); return false;
};
$("#ECPU").remove();
$("body").append(data);
$('#ECPU').dialog({
autoOpen: true,
show: 'slide',
hide: 'slide',
buttons: b,
width: 500
});
});
return false;
};
|
Вопрос!
Как передать значение $parametr в файл admin.php без записи его в доп. файл и "includ ..." этого файла в admin.php?
Спасибо,
Владимир | |
|
|
|
|
|
|
|
для: VladimirHML
(27.12.2012 в 13:04)
| | Параметры методом GET можно передавать в адресе, то есть если скрипту admin.php надо передать переменную parametr со значением value, то url формируем таким образом admin.php?parametr=value | |
|
|
|
|
|
|
|
для: Mookapek
(27.12.2012 в 19:58)
| | Спасибо за ответ.
Я так и передаю $parametr в файл обработчик cod1.php, но для admin.php я пробовал тест:
вставляю в функцию iChatAdmin() контрольную переменную value1 и, как Вы писали пробую передать в admin.php
----
var value1 = "222";
$.get(dle_root + "engine/modules/iChat/ajax/admin.php?user=value1", { action: "show" }, .....
....
В файле admin.php вставляю контрольный вывод
<?php
if (isset ($_GET['user'] ) )
{
$user = $_GET['user'] ;
}
echo "<br>$ user = ".$user;
?>
|
Значение в этом случае не передается и выводится только строка $ user =
Пробовал подставить конструкцию с admin.php?user=222 в шаблон вместо функции iChatAdmin() - значение передается.
В чем я ошибаюсь? | |
|
|
|
|
|
|
|
для: VladimirHML
(28.12.2012 в 00:50)
| | А, вы используете Ajax и jQuery.
В этом случае параметры передаются как аргументы функции $.get, там где {action: "show"}.
Добавьте в таком случае еще и переменную user -
$.get(dle_root + "engine/modules/iChat/ajax/admin.php", { action: "show", user: "222" }, ..... | |
|
|
|
|
|
|
|
для: Mookapek
(28.12.2012 в 02:04)
| | Как в этом случае принять значение в admin.php? | |
|
|
|
|
|
|
|
для: VladimirHML
(28.12.2012 в 14:23)
| | Как обычно, обратившись к суперглобальному массиву $_GET:
$_GET['user'] | |
|
|
|
|
|
|
|
для: Mookapek
(28.12.2012 в 17:20)
| | Для проверки продублировал значения параметров
$.get(dle_root + "engine/modules/iChat/ajax/admin.php", { action: "show", user: "show"}, .....
и контрольный вывод в admin.php
<?php
$user=$_GET['user'];
$action=$_GET['action'];
echo "<br>$ user = ".$user;
echo "<br>$ action = ".$action;
?>
|
Выводится только значение $action
$ user =
$ action = show
Может быть $user надо где-нибудь продекларировать? | |
|
|
|
|
|
|
|
для: VladimirHML
(28.12.2012 в 18:45)
| | Протестировал с вводом разных значений user: "...."
Значения передаются, но с опозданием, выводятся старые значения введеные ранее
(поэтому с начало ничего не выводилось).
Впечатление, что содержимое масива $_GET['user'] выводится из какого-то кэша.
Когда этот кэш обновляется - непонятно. | |
|
|
|