Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: передача значения переменной
 
 автор: VladimirHML   (27.12.2012 в 13:04)   письмо автору
 
 

Привет сообществу!
Помогите пожалуйста начинающему.

Вопрос по передаче переменной.

Есть РНР файл, обработчик.
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?

Спасибо,
Владимир

  Ответить  
 
 автор: Mookapek   (27.12.2012 в 19:58)   письмо автору
 
   для: VladimirHML   (27.12.2012 в 13:04)
 

Параметры методом GET можно передавать в адресе, то есть если скрипту admin.php надо передать переменную parametr со значением value, то url формируем таким образом admin.php?parametr=value

  Ответить  
 
 автор: VladimirHML   (28.12.2012 в 00:50)   письмо автору
 
   для: 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() - значение передается.

В чем я ошибаюсь?

  Ответить  
 
 автор: Mookapek   (28.12.2012 в 02:04)   письмо автору
 
   для: 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" }, .....

  Ответить  
 
 автор: VladimirHML   (28.12.2012 в 14:23)   письмо автору
 
   для: Mookapek   (28.12.2012 в 02:04)
 

Как в этом случае принять значение в admin.php?

  Ответить  
 
 автор: Mookapek   (28.12.2012 в 17:20)   письмо автору
 
   для: VladimirHML   (28.12.2012 в 14:23)
 

Как обычно, обратившись к суперглобальному массиву $_GET:
$_GET['user']

  Ответить  
 
 автор: VladimirHML   (28.12.2012 в 18:45)   письмо автору
 
   для: 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   (29.12.2012 в 10:14)   письмо автору
 
   для: VladimirHML   (28.12.2012 в 18:45)
 

Протестировал с вводом разных значений user: "...."
Значения передаются, но с опозданием, выводятся старые значения введеные ранее
(поэтому с начало ничего не выводилось).
Впечатление, что содержимое масива $_GET['user'] выводится из какого-то кэша.
Когда этот кэш обновляется - непонятно.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования