Помогите, передача данных по форме

  • Автор темы Автор темы IBSN
  • Дата начала Дата начала

IBSN

Новичок
Помогите, неработает if () в function()

Значит так создал (большой кодик):
PHP:
<form name=form method=POST action=>
<input type=hidden name=material value="<?=$material?>">
<input type=hidden name=tip value="<?=$tip?>">
<input type=hidden name=forma value="<?=$forma?>">
<?php
function material() 
{
echo ' Материал: </font><select size="1" onchange="javascript:document.form.submit()" name="material" style="color: #FFFFFF; font-size: 10px; font-family: Tahoma; background-color: #555548; border-style: double; border-color: #555548">
<option value="dub">Дуб</option>
<option value="buk">Бук</option>
<option value="alp">Альп. Ольха</option>
            </select>';
}

function tip() 
{
echo ' Тип двери: </font><select size="1" onchange="javascript:document.form.submit()" name="tip" style="color: #FFFFFF; font-size: 10px; font-family: Tahoma; background-color: #555548; border-style: double; border-color: #555548">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
            </select>';
}

function forma() 
{
echo ' Форма двери: </font><select size="1" onchange="javascript:document.form.submit()" name="forma" style="color: #FFFFFF; font-size: 10px; font-family: Tahoma; background-color: #555548; border-style: double; border-color: #555548">';

if ($tip =="1" & $material =="dub")
{
echo '
<option value="Dp">Dp</option>
<option value="Ds">Ds</option>
<option value="Dr">Dr</option>
<option value="Cz">Cz</option>
';
}

if ($tip =="2" & $material =="dub")
{
echo '
<option value="Dp">Dp</option>
<option value="Dr">Dr</option>
<option value="Cz">Cz</option>
<option value="DGr">DGr</option>
<option value="DGp">DGp</option>
';
}

if ($tip =="3" & $material =="dub")
{
echo '
<option value="Dp">Dp</option>
<option value="Dr">Dr</option>
<option value="Cz">Cz</option>
';
}

if ($tip =="4" & $material =="dub")
{
echo '
<option value="Dp">Dp</option>
<option value="Dr">Dr</option>
<option value="Cz">Cz</option>
<option value="DGr">DGr</option>
<option value="DGp">DGp</option>
<option value="Dr+kratka">Dr+kratka</option>
';
}

if ($tip =="5" & $material =="dub")
{
echo '
<option value="Dp">Dp</option>
<option value="Cz">Cz</option>
';
}
  
          echo '</select>';
}

if ($material <>"" & $tip =="")
{
tip();
}
if ($tip <>"" & $forma =="")
{
forma();
}
if ($material =="" & $tip =="" & $forma=="")
{
material();
}

?>
</form>

Все работает если выбрать - Дуб - 1(2,3...) - но доходит до формы двери и ничего неполучается =(
В чем проблемма???

ПОЧЕМУ НЕ РАБОТАЕТ if() в function()????
 
1. потому что это супер кривой код
2. Правильнее будет не & А && или and
3. читай про register_globals (faq) & [m]register_globals[/m] (понадобиться)
4. главное в твоем случае читай [m]variables.scope[/m] (область видимости переменных)


5. Пока всё не прочитаешь, сюда не возвращайся ;)
 
Хотя нет, здесь у тебя $tip и $material, локальны, а значит внутри функции они равны 0.
 
Net Dog
все прочитал, но мне не нужна там безопастность, так как этот сайт расчитан для ламеров, а хакерам там делать вообще нечего =)
 
1. Дело не только в безопасности... А в правильном написании...
2. Хренова читал про область видимости ... :)

<?php
$a = 'string';

function Test()
{
global $a;

echo $a;
}

test();
?>
 
>решил проблемму поменяв function`ы на if`ы

>все прочитал, но мне не нужна...

Хорошая шутка. Петросян просто нервно курит. IBSN, ты гонишь. Ничего ты не читал. Поэтому проблема твоя не решилась. Что, скрипт работает? Какая удача! Ай да мастер на все руки! Оказывается, то что тебе советуют, полное фуфло, по сравнению с твоим искрометным решением.
Напиши статью об этом. Всем будет интересно узнать про твой виртуозный подход к решению столь нетривиальных проблем.
 
Net Dog спасибо... я все поменял и поставил global`s - все работает
 
Ну я же говорю что хреново читал... Всё что я дал, советую таки прочитать пару раз... Решит кучу будущих вопросов. И нервов...
 
Сверху