php математика (два разделителя?)

autocalc
На сайте с 11.05.2011
Offline
52
556

У меня вот такой незамысловатый код:

<?php

if(isset($_POST['x'])){ $x=$_POST['x'];} else {$x=1;}
if(isset($_POST['v'])){ $v=$_POST['v'];} else {$v=1;}
if(isset($_POST['c'])){ $c=$_POST['c'];} else {$c=1;}

$usd="30";
$eur="40";

$ue=sprintf("%.2f",$usd/$eur);
$eu=sprintf("%.2f",$eur/$usd);
?>

<html>
<head>
<link rel=stylesheet type=text/css href=calc.css />
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
</head>
<body>

<form method="POST" action="index.php">
<input type="text" name="x" value="<?php echo $x;?>">
<br/>
<select size="2" name="v">
<option disabled>Выберите валюту</option>
<option value="1">USD</option>
<option value="2">EUR</option>
</select>
<br/>
<select size="2" name="с">
<option disabled>Конвертировать в валюту</option>
<option value="1">USD</option>
<option value="2">EUR</option>
</select>
<br/>
<input type="submit" value="Отправить">
</form>
<h2>Результаты</h2>
<?php
if ($v==1 || $c==2) {
echo $x*$ue;
}

if ($v==2 || $c==1) {
echo $x*$eu;
}
?>
</body>
</html>

При выборе x=10; v=2; c=1; выдает результат 7.513.3

Почему два разделителя?

T
На сайте с 20.03.2007
Offline
67
Toy
#1

<?php

if ($v==1 || $c==2) {
echo $x*$ue;
}


echo "<br>";


if ($v==2 || $c==1) {
echo $x*$eu;
}
?>

Догадайтесь ;-)

dlyanachalas
На сайте с 15.09.2006
Offline
693
#2
7.513.3

Читать надо так:

7.5 13.3
autocalc
На сайте с 11.05.2011
Offline
52
#3
Toy:
<?php

if ($v==1 || $c==2) {
echo $x*$ue;
}


echo "<br>";


if ($v==2 || $c==1) {
echo $x*$eu;
}
?>


Догадайтесь ;-)

Но там же условие проставлено, или я не правильно это сделал?

autocalc добавил 12.06.2011 в 11:32

ясно, в общем надо было в начале кода переменным v и c проставить нулевые значения, и все тип топ)

T
На сайте с 20.03.2007
Offline
67
Toy
#4
Но там же условие проставлено, или я не правильно это сделал?

Мне кажется в условиях нужно не ИЛИ, а И (&&)

[Удален]
#5

$x=$_POST['x'] ты передаешь строку. А сравниваешь числа. Может прокатить а может и нет.

пиши правильно


if(isset($_POST['x'])){ $x=(int)$_POST['x'];} else {$x=1;}
if(isset($_POST['v'])){ $v=(int)$_POST['v'];} else {$v=1;}
if(isset($_POST['c'])){ $c=(int)$_POST['c'];} else {$c=1;}

Во вторых у тебя в том примере что ты дал офигенная ошибка:

<select size="2" name="с">

Эта русская буква "с" а вверху ты проверяешь на английскую "це"

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий