2015-07-18 2 views
-2

Я хочу сделать калькулятор с php, и я написал этот код, но не работал, в чем проблема? Я использую iclude для присоединения функций и использования тега select и option и даю имена опций для получения данных. Я использую phpstorm для решения проблемы, но проблем не было. извините за мой плохой английскийсделать калькулятор с php

<!DOCTYPE html> 
<html> 
<head> 
</head> 


<body> 
<form style="margin:25%;" action="#" method="GET"> 
    <input type="text" name="num1" size="20" placeholder="number 1"> 
    <input type="text" name="num2" size="20" placeholder="number 2"> 

    <select name="massoud"> 
     <option name="jam1">jam</option> 
     <option name="tafrigh1">tafrigh</option> 
     <option name="zarb1">zarb</option> 
     <option name="taghsim1">taghsim</option> 
     <option name="baghimande1">baghimande</option> 
    </select> 

    <input type="submit" name="submit" value="calculate"> 
</form> 



<?php 

include 'calib.php'; 

?> 


<?php 


if(isset($_GET['submit']) && isset($_GET['jam1'])) { 


    $a1 = $_GET['num1']; 
    $b1 = $_GET['num2']; 



    echo jam1($a1, $b1); 

} 

if(isset($_GET['submit']) && isset($_GET['tafrigh1'])) { 


    $a1 = $_GET['num1']; 
    $b1 = $_GET['num2']; 



    echo tafrigh1($a1, $b1); 

} 

if(isset($_GET['submit']) && isset($_GET['zarb1'])) { 


    $a1 = $_GET['num1']; 
    $b1 = $_GET['num2']; 



    echo zarb1($a1, $b1); 

} 

if(isset($_GET['submit']) && isset($_GET['taghsim1'])) { 


    $a1 = $_GET['num1']; 
    $b1 = $_GET['num2']; 



    echo taghsim1($a1, $b1); 

} 

if(isset($_GET['submit']) && isset($_GET['baghimande1'])) { 


    $a1 = $_GET['num1']; 
    $b1 = $_GET['num2']; 



    echo baghimande1($a1, $b1); 

} 

?> 



</body> 
</html> 

и это инклюднике

<?php 

function jam1($a1, $b1){ 
return $a1 + $b1; 
} 
function tafrigh1($a1, $b1){ 
return $a1 - $b1; 
} 
function zarb1($a1, $b1){ 
return $a1 * $b1; 
} 
function taghsim1($a1, $b1){ 
return $a1/$b1; 
} 
function baghimande1($a1, $b1){ 
return $a1 % $b1; 
} 

?> 

это результат URL http://localhost/calib/?num1=6&num2=5&massoud=tafrigh&submit=calculate#

+0

Пожалуйста, добавьте журналы, чтобы увидеть, где программа идет и не делает, с помощью которого значения в Пере ... вы узнаете гораздо больше ... – Random

+0

, почему он не работает –

+0

@PrashantTapase я не знаю Я использую swith, но не сработает! –

ответ

1

В каждом случае вы просите точную стоимость опциона, а не значение выбора, которое является размещенным:

if(isset($_GET['submit']) && isset($_GET['jam1'])) { 

Там нет $_GET['jam1'], вы должны изменить это к вашему выберите имя:

if(isset($_GET['submit']) && ($_GET['massoud'] == 'jam1')) { 

Вам нужно добавить, что к каждому из случаев

Edit: я не замечаю ваш выбор также установка неправильно:

<select name="massoud"> 
    <option name="jam1">jam</option> 
    <option name="tafrigh1">tafrigh</option> 
    <option name="zarb1">zarb</option> 
    <option name="taghsim1">taghsim</option> 
    <option name="baghimande1">baghimande</option> 
</select> 

Вы настраиваете имя каждого варианта, а не значения, изменение:

<select name="massoud"> 
    <option value="jam1">jam</option> 
    <option value="tafrigh1">tafrigh</option> 
    <option value="zarb1">zarb</option> 
    <option value="taghsim1">taghsim</option> 
    <option value="baghimande1">baghimande</option> 
</select> 
+0

я использую это, но dosen't work –

+0

Ive редактируя мой ответ, так как ваш выбор также настраивается неправильно, поскольку @bitWorking указал – NaN

+0

http://massoudasadi.ir/calculator1/ dosen ' работа! –

0

Оно должно быть:

<select name="massoud"> 
    <option value="jam1">jam</option> 
    <option value="tafrigh1">tafrigh</option> 
    <option value="zarb1">zarb</option> 
    <option value="taghsim1">taghsim</option> 
    <option value="baghimande1">baghimande</option> 
</select> 

И $_GET['massoud'] вы получите выбранное значение.

+0

Что такое HTML? – Random

+1

@Random Это должно быть '<значение опции', а не' <имя опции'. – bitWorking

+0

благодарит за вашу помощь! –

1

Изменение этой линии

if(isset($_GET['submit']) && isset($_GET['jam1'])) { 

к этому:

if(isset($_GET['submit']) && isset($_GET['massoud']) && $_GET['massoud'] == 'jam1') { 

jam1 это значение не является ключевым. massoud - это название раскрывающегося списка select и, следовательно, ключа.

+0

благодарит за вашу помощь! –

0

Измените свой код на это, и вы получите свой результат в левом нижнем углу.

<?php 


if(isset($_GET['submit']) && isset($_GET['massoud']) && $_GET['massoud'] == "jam") { 


$a1 = $_GET['num1']; 
$b1 = $_GET['num2']; 



echo jam1($a1, $b1); 

} 

if(isset($_GET['submit']) && isset($_GET['massoud']) && $_GET['massoud'] == "tafrigh") { 


$a1 = $_GET['num1']; 
$b1 = $_GET['num2']; 



echo tafrigh1($a1, $b1); 

} 

if(isset($_GET['submit']) && isset($_GET['massoud']) && $_GET['massoud'] == "zarb") { 


$a1 = $_GET['num1']; 
$b1 = $_GET['num2']; 



echo zarb1($a1, $b1); 

} 

if(isset($_GET['submit']) && isset($_GET['massoud']) && $_GET['massoud'] == "taghsim") { 


$a1 = $_GET['num1']; 
$b1 = $_GET['num2']; 



echo taghsim1($a1, $b1); 

} 

if(isset($_GET['submit']) && isset($_GET['massoud']) && $_GET['massoud'] == "baghimande1") { 


$a1 = $_GET['num1']; 
$b1 = $_GET['num2']; 



echo baghimande1($a1, $b1); 

} 

?> 
+0

работает! Спасибо ! –

+0

Рад, что я могу вам помочь. –

+0

Когда-либо слышал о [DRY] (https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)? – bitWorking

Смежные вопросы