нужна помощь

Статус
В этой теме нельзя размещать новые ответы.

bobrdobr94

Создатель
Регистрация
20 Сен 2009
Сообщения
36
Реакции
0
Привет всем народ нужна помощь в одном деле
вот код:
PHP:
<form method="POST" action="test.php">
<input type='text' name='vebor' value='' size='15'/> <p>1 первое действие 2 втарое действие</p>
<INPUT type="Submit" value="выберите действие">
</form>
<?php $vebor = trim($_POST['vebor']); defined(NUL, $vebor)  ?>

</br>
</br>
</br>

<form method="POST" action="test.php">
<input type='text' name='var1' value='' size='15'/>
<INPUT type="Submit" value="=">
</form>

<?php

if (NUL == 1)
{
$var1 = trim($_POST['var1']); 
$var2 = $var1 + 2;

}
else 
{
$var1 = trim($_POST['var1']); 
$var3 = $var1 + 3;
}

?>
</br>
<?php  
echo $var2;
?>
</br>
<?php  
echo $var3;
?>
проблема здесь в том, что когда вводите var1 и нажимаете на кнопку submit то получается значении $vebor равно 0, и программа выбирает else... нужно что бы значение $vebor не изменялось. ну вот, сор, что не ясно объяснил просто ваще не умею объяснять))) не быть мне учителем)))
 
У тебя две формы, а нужно сделать одну. Проверь мой код, теперь работает:
PHP:
<form method="POST" action="test.php">
<input type='text' name='vebor' value='' size='15'/> <p>1 первое действие 2 втарое действие</p>
<input type='text' name='var1' value='' size='15'/>
<INPUT type="Submit" value="=">
</form>
<?php
$vebor = trim($_POST['vebor']);
if ($vebor == 1)
{
$var1 = trim($_POST['var1']); 
$var2 = $var1 + 2;
}
else 
{
$var1 = trim($_POST['var1']); 
$var3 = $var1 + 3;
}
?>
</br>
<?php  
echo $var2;
?>
</br>
<?php  
echo $var3;
?>
 
да это верно... но мне нужно что бы работал такой код. т.е. сразу выбираете действие а патом вводите var1
ну вот код:
PHP:
<form method="POST" action="test.php">
<input type='submit' name='vebor' value='1' size='15'/>
<input type='submit' name='vebor' value='2' size='15'/> <p>1 первое действие 2 втарое действие</p>
<input type='text' name='var1' value='' size='15'/>
<INPUT type="Submit" value="=">
</form>
<?php
$vebor = trim($_POST['vebor']);
if ($vebor == 1)
{
$var1 = trim($_POST['var1']); 
$var2 = $var1 + 2;
}
elseif($vebor == 2)
{
$var1 = trim($_POST['var1']); 
$var3 = $var1 + 3;
}
?>
</br>
<?php  
echo $var2;
?>
</br>
<?php  
echo $var3;
?>
 
если хочешь выбрать первое действие и нажать Submit, то страница перегружается, поэтому тебе надо где-то сохранить значение первого действие прежде чем выбирать второе, тогда тут надо сессии использовать

предлагаю не заморачиваться, а сделать сразу заполнение двух окошек, а потом один Submit - так нельзя чтоль?
 
да к сожалению так нельзя. если можно была я бы не спрашивал)

спасибо что подсказал про сессии я даже про их не слышал, новичок)
 
если хочешь выбрать первое действие и нажать Submit, то страница перегружается, поэтому тебе надо где-то сохранить значение первого действие прежде чем выбирать второе, тогда тут надо сессии использовать

Этот вопрос решается при помощи js, можно и куку повесить через него, а можно поступить проще, как в приведенном мной коде:
PHP:
<form method="POST" action="12.php">
<input type='button' name='vebor' value='1' size='15'onclick='qwe(this);' />
<input type='button' name='vebor' value='2' size='15' onclick='qwe(this);' /> <p>1 первое действие 2 втарое действие</p>
<input type='hidden' name='var2' id='var2' value='' />
<input type='text' name='var1' value='' size='15'/>
<INPUT type="Submit" value="=">
</form>
<script>
function qwe(myvar)
{
document.getElementById("var2").value=myvar.value;
}
</script>
<?php
print_r($_POST);
$vebor = trim($_POST['var2']);
if ($vebor == 1)
{
$var1 = trim($_POST['var1']); 
$var2 = $var1 + 2;
}
elseif($vebor == 2)
{
$var1 = trim($_POST['var1']); 
$var2 = $var1 + 3;
}
?>
</br>
<?php  
echo $var2;
?>
 
А чем плох вариант добавления скрытого vebor во вторую форму:
Код:
<form method="POST" action="test.php">
<input type='text' name='vebor' value='' size='15'/> <p>1 первое действие 2 втарое действие</p>
<INPUT type="Submit" value="выберите действие">
</form>
<?php $vebor = trim($_POST['vebor']); defined(NUL, $vebor)  ?>

</br>
</br>
</br>

<form method="POST" action="test.php">
[B]<input type='hidden' name='vebor' value='<?=$vebor?>'/>[/B]
<input type='text' name='var1' value='' size='15'/>
<INPUT type="Submit" value="=">
</form>

<?php

if (NUL == 1)
{
$var1 = trim($_POST['var1']); 
$var2 = $var1 + 2;

}
else 
{
$var1 = trim($_POST['var1']); 
$var3 = $var1 + 3;
}

?>
</br>
<?php  
echo $var2;
?>
</br>
<?php  
echo $var3;
?>
 
А чем плох вариант добавления скрытого vebor во вторую форму:

плох - кнопка бэк работать плохо будет в бровсере
меняем метод post на get и получаем тривиальное решение проблемы
 
кнопка бэк работать плохо будет в бровсере
А разве это не то, что нужно?
По замыслу автора строго определен следующий порядок:
1. Заполняем 1 форму, нажимаем кнопку "выберите действие"
2. Заполняем вторую форму, нажимаем кнопку "=".
И НИКАКИХ БЭК!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху