Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Прошу помочь разобраться с функцией

34K
12 марта 2016 года
Алексей 24
35 / / 10.11.2011
Добрый день. Есть такой код.
Код:
function carcas_saita ($header,$left,$right,$middle,$footer)
               
{  $form="style='height:1000px;padding-bottom:10px;position:relative;bottom:85px;top:5px;border:groove 1px #000'";
               $fieldset="style='margin-top:10px;width:20%;height:auto; position:relative;top:15px;left:20px'";
               $legend="style='margin-top:10px'";
               $input="style='position:relative; bottom:5px' size='10px'";
               $p="style='position:relative;bottom:5px'";
               $select="style='width:50px;height:25px;position:relative;bottom:10px;top:auto'";
               $submit="style='position:relative;bottom:32px;left:140px;width:85px;height:26px'";
             
               
           
           
            echo "<form $form method='GET' action=''>
               
               
                  <fieldset $fieldset >
                  <legend >Header:</legend>
                     <p $p>Введите ширину 'шапки' сайта, длина будет подобрана по размеру стр.</p>
                     <input $input  type='text' name='hh' id='hh' />          
                 </fieldset>
                 
                 <fieldset $fieldset >
                  <legend $legend>Middle:</legend>
                     <p $p>Введите длину среднего блока сайта</p>
                     <input $input  type='text' name='wm' id='wm' />
       
                     <p $p>Введите ширину среднего блока сайта</p>
                     <input $input type='text' name='hm' id='hm' />
                 </fieldset>   
                   
                    <fieldset $fieldset ><legend $legend>Left:</legend>
                     <p $p>Введите длину левого блока сайта</p>
                     <input $input type='text' name='wl' id='wl' />
                 <p $p>Введите ширину левого блока сайта</p>
                     <input $input type='text' name='hl' id='hl' />
                 </fieldset>
                   
                    <fieldset $fieldset ><legend $legend>Right:</legend>
                     <p $p>Введите длину правого блока сайта</p>
                     <input $input type='text' name='wr' id='wr' />
                 <p $p>Введите ширину правого блока сайта</p>
                     <input $input type='text' name='hr' id='hr' />
                 </fieldset>
                   
                <fieldset $fieldset ><legend $legend>Spec:</legend>
                    <p $p>Выберите спецификатор длины (для всех блоков)</p>
                <select $select name='sp' id='sp'>
                        <option>%</option>
                        <option>px</option>
                   
                    </select>
                  </fieldset>
                   
                   
                   
                    <input type='submit' $submit name='submit' value='запомнить' />
               
               
               
                </form>"
;
       
           
function if_spec($arg0,$arg1)
{
$spec=0;
$total='<div style="margin:10px auto; position:relative;float:both;padding:5px; width:'.$arg0.$spec.'; height:'.$arg1.'px;'.'border:solid 1px #666">'.'длина -'.$arg0.$spec.' '.'ширина -'.$arg1.'px</div>';
if (in_array("%",$_GET))

{                  
                          $spec=$_GET[sp];
                          echo $total;
                             
                       
 }                        
 
 
if (in_array("px",$_GET))
     {                      
                               $spec=$_GET[sp];
                               echo $total;
                             
   
               
    }          
}          
           
    if ($header==1)
                 { if ($_GET['hh'])
                   
                    {$h0=$_GET['hh'];
                       
                    echo '<div style="margin:10px auto; padding:auto; width:100%; height:'.$h0.'px;border:solid 1px #666">'.'ширина - '.$h0.'px</div>';
                    }
                 
                }    
if ($middle==1)
                {if ($_GET['wm'] and $_GET['hm'])
                      { $m0=$_GET['wm'];  $m1=$_GET['hm'];
                       if_spec($m0,$m1);
                      }
                  }  
           
           
           
if ($left==1)
                {if ($_GET['wl'] and $_GET['hl'])
                      { $l0=$_GET['wl'];  $l1=$_GET['hl'];
                       if_spec($l0,$l1);
                      }
                  }    
                               
 
 
if ($right==1)
 
 {if ($_GET['wr'] and $_GET['hr'])
                      { $r0=$_GET['wr']; $r1=$_GET['hr'];
                       if_spec($r0,$r1);
                      }
 }
 
  if ($_GET[sp])
      $_GET[sp]="";
 // tests echo $_GET['sp']."пусто";
 
 
}
По заданым значениям из формы создаются блоки длины и ширины: что-то вроде простого каркаса страницы.

Также можно выбрать спецификатор длины заданых блоков ($h $m $l $r $f) в пикселях/процентах.
В этом коде есть подфункция if_spec которая по идее должна обрабатывать спецификатор из масива Get и в зависимости от его знач., выводить нужные блоки или в % или в px

Проблема в том, что из масива Get выбраный спецификатор не попадает в подфункцию if_spec. Прошу указать на возможные ошибки в if_spec
34K
12 марта 2016 года
Алексей 24
35 / / 10.11.2011
Исправил, работает с обеими спецификаторами. Спасибо за возможную помощь.
34K
12 марта 2016 года
Алексей 24
35 / / 10.11.2011
Уточняю:
Почему-то не происходит подстановка спецификатора из $_Get[sp] в $arg.$spec , именно после $arg, то есть изначально он подставляется как 0 это понятно

$spec=0
$total='<div style="margin:10px auto; position:relative;float:both;padding:5px; width:'.$arg0.$spec.'; height:'.$arg1.'px;'.'border:solid 1px #666">'.'длина -'.$arg0.$spec.' '.'ширина -'.$arg1.'px</div>';


Но затем, наверное, не происходит повторного присвоения в $arg.$spec а именно в $spec
{$spec=$_GET[sp];
echo $total;
}

проверял $spec на вывод после создание блока спецификатор выводится, т.к. у меня 3 вызова if_spec 3 раза выводит блоки (конечно неправильно их выводит)- после них спецификатор
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог