За последние 24 часа нас посетили 48569 программистов и 1807 роботов. Сейчас ищут 1824 программиста ...

Как передать значение переменной в начало скрипта

Тема в разделе "PHP для новичков", создана пользователем aziz, 11 июн 2011.

  1. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Доброго всем времени суток. Столкнулся с одной задачкой и немогу понять как рещить. Нужно передать значение переменной в начало скрипта, то есть к примеру:
    PHP:
    1.  
    2. <?
    3. $val=''; // изначально переменная пуста
    4. if($val!=''){
    5. echo "Text";
    6. }
    7. //некий код
    8. //..
    9. //..
    10. //..
    11. $x=2;
    12. if($x>0){
    13. $val=1;}
    ?>
    Как заставить работать этот код не пойму, пробовал в конце добавить return, не помогает.
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Юзайте функции.
    PHP:
    1. <?php
    2. $val=''; // изначально переменная пуста
    3. function echoText(){
    4.   global $val;
    5.   if($val!=''){
    6.     echo "Text";
    7.   }
    8. }
    9. echoText();//ничего не выведет
    10. //некий код
    11. //..
    12. //..
    13. //..
    14. $x=2;
    15. if($x>0){
    16.   $val=1;
    17. }
    18. echoText();//выведет "Text"
     
  3. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Спасибо за совет, но я наверное плохо объяснил что мне нужно. Попробую более подробно.

    Вот более наглядный пример:

    Код (Text):
    1. <input name="test" type="text" <? if($val>0) echo "disabled"; ?> > <!--Здесь текстовое поле блокируется если $val равна единице -->
    2.  
    3. <? if($_POST){
    4.     //Код
    5.     //..
    6.     //..
    7.     $val=1; //Это значение нужно передать в текстовое поле формы
    8. }
    9.     ?>
    Тоесть до обработки параметр disabled отключен и после того как пользовател нажал submit и скрипт обработал данные формы значение $val равна единице и в итоге текстовое поле должно заблокироваться.
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Определять массив POST и вообще писать логику лучше до вывода страницы.
    PHP:
    1. <?php
    2. $val=0;//всегда устанавливаем дефолтные значения
    3. $test='';//тоже
    4. if(isset($_POST['test'])){//если данные были переданы
    5.   $test=$_POST['test'];//то берём их, или не берём
    6.   $val=1;
    7. }
    8. //некий код
    9. //много кода...
    10. //наконец, выводим html
    11. ?>
    12. <input name="test" type="text" <?php if($val>0) echo "disabled"; ?> > <!--Здесь текстовое поле блокируется если $val равна единице -->
     
  5. aziz

    aziz Активный пользователь

    С нами с:
    1 фев 2006
    Сообщения:
    194
    Симпатии:
    0
    Адрес:
    Ташкент
    Спасибо за помощь. Всё заработало как надо :)