URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 4914
[ Назад ]

Исходное сообщение
"Возникли проблемы при использовании Ajax"

Отправлено Ingar , 27-Апр-07 07:34 
Доброго всем времени суток. Ребята, помогите разобраться с такой проблемой. Есть примерно такая структура сайта (пример упрощенный):
test3.php - главный файл.
test.php - содержит функции.

Вот листинги
test3.php


<html>
<head>
<script language="javascript" type="text/javascript" src="prototype-1.4.0/dist/prototype.js"></script>
<?php
echo "<hr>test3<hr><br><br>";
define('DP_ACP',1);
global $f;
$f=0980;
include_once("test.php");

t1();
?>


test.php

<?php
if(!defined('DP_ACP'))
{
echo("ne opredelena DP_ACP");
//Header('Location: test3.php');
exit;
}
?>

<script type="text/javascript">
function test()
{
var pars="code=0";
new Ajax.Updater('id_test','test.php',{method: 'post', parameters: pars});
}
</script>

<?php
function t1()
{
echo("
<hr>
<input type='button' value='test' onclick=\"java script:test()\"/>
<div id='id_test'>test</div>
<hr>");
}


if(isset($_POST['code']))
   echo($_POST['code']);
else echo("POST['code'] ne sushestvuyet...");

?>

Ну и о проблеме: она состоит в том, что после клика на кнопку "test" вновь исполняется файл test.php, но он уже не видит ни DP_ACP, ни другие ранее объявленные и определенные глобальные переменные. Складывается впечатление, что когда выполняется джава-функция файл test.php подгружается и используется как совершенно независимый файл. Возможно есть какой-нибудь способ решить эту проблему?

PS заранее всех благодарю за ответ.


Содержание

Сообщения в этом обсуждении
"Возникли проблемы при использовании Ajax"
Отправлено GD , 27-Апр-07 11:55 
>Доброго всем времени суток. Ребята, помогите разобраться с такой проблемой. Есть примерно
>такая структура сайта (пример упрощенный):
>test3.php - главный файл.
>test.php - содержит функции.
>
>Вот листинги
>
>test.php
>
<?php 
>if(!defined('DP_ACP'))
>{
> echo("ne opredelena DP_ACP");
> //Header('Location: test3.php');
> exit;
>}
>?>
>
><script type="text/javascript">
>function test()
>{
> var pars="code=0";
> new Ajax.Updater('id_test','test.php',{method: 'post', parameters: pars});
>}
></script>
>
><?php
>function t1()
>{
> echo("
> <hr>
> <input type='button' value='test' onclick=\"java script:test()\"/>
> <div id='id_test'>test</div>
> <hr>");
>}
>
>
>if(isset($_POST['code']))
>   echo($_POST['code']);
>else echo("POST['code'] ne sushestvuyet...");
>
>?>

>
>Ну и о проблеме: она состоит в том, что после клика на
>кнопку "test" вновь исполняется файл test.php, но он уже не видит
>ни DP_ACP, ни другие ранее объявленные и определенные глобальные переменные. Складывается
>впечатление, что когда выполняется джава-функция файл test.php подгружается и используется как
>совершенно независимый файл. Возможно есть какой-нибудь способ решить эту проблему?

покажи мне слепому, где в test.php у тебя определна констианта DP_ACP
видимо проблемы с пониманием где работают серверные скрипты, а где клиентские?

>
>PS заранее всех благодарю за ответ.



"Возникли проблемы при использовании Ajax"
Отправлено Ingar , 27-Апр-07 12:49 
>покажи мне слепому, где в test.php у тебя определна констианта DP_ACP
>видимо проблемы с пониманием где работают серверные скрипты, а где клиентские?

Не спорю. Что можешь посоветовать? Как выйти из подобной ситуации?


"Возникли проблемы при использовании Ajax"
Отправлено GD , 28-Апр-07 12:30 
>>покажи мне слепому, где в test.php у тебя определна констианта DP_ACP
>>видимо проблемы с пониманием где работают серверные скрипты, а где клиентские?
>
>Не спорю. Что можешь посоветовать? Как выйти из подобной ситуации?

например вынести все обьявления констант и подключение библиотек в отдельный файл и подключать везде, где оно требуется