Прошу помочь разобраться с функцией
Код:
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']."пусто";
}
{ $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
Исправил, работает с обеими спецификаторами. Спасибо за возможную помощь.
Почему-то не происходит подстановка спецификатора из $_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 раза выводит блоки (конечно неправильно их выводит)- после них спецификатор