Доброго всем времени суток. Столкнулся с одной задачкой и немогу понять как рещить. Нужно передать значение переменной в начало скрипта, то есть к примеру: PHP: <? $val=''; // изначально переменная пуста if($val!=''){ echo "Text"; } //некий код //.. //.. //.. $x=2; if($x>0){ $val=1;} ?> Как заставить работать этот код не пойму, пробовал в конце добавить return, не помогает.
Юзайте функции. PHP: <?php $val=''; // изначально переменная пуста function echoText(){ global $val; if($val!=''){ echo "Text"; } } echoText();//ничего не выведет //некий код //.. //.. //.. $x=2; if($x>0){ $val=1; } echoText();//выведет "Text"
Спасибо за совет, но я наверное плохо объяснил что мне нужно. Попробую более подробно. Вот более наглядный пример: Код (Text): <input name="test" type="text" <? if($val>0) echo "disabled"; ?> > <!--Здесь текстовое поле блокируется если $val равна единице --> <? if($_POST){ //Код //.. //.. $val=1; //Это значение нужно передать в текстовое поле формы } ?> Тоесть до обработки параметр disabled отключен и после того как пользовател нажал submit и скрипт обработал данные формы значение $val равна единице и в итоге текстовое поле должно заблокироваться.
Определять массив POST и вообще писать логику лучше до вывода страницы. PHP: <?php $val=0;//всегда устанавливаем дефолтные значения $test='';//тоже if(isset($_POST['test'])){//если данные были переданы $test=$_POST['test'];//то берём их, или не берём $val=1; } //некий код //много кода... //наконец, выводим html ?> <input name="test" type="text" <?php if($val>0) echo "disabled"; ?> > <!--Здесь текстовое поле блокируется если $val равна единице -->