尝试使用PHP函数制作计算器,但它不起作用

时间:2013-03-20 08:41:56

标签: php html function

我制作了简单的计算器,没有任何脚本,但它没有用,当我点击按钮,其中任何功能被声明它不能正常工作,

<html>

<head>
</head>

<body>

<form method="post" action="">
<table align="center" border="1px" bordercolor="#CC0033" bgcolor="#99CC00"> 
<tr>
<td>
Number 1:</td><td><input type="text" name="number1"></td>
</tr>

<tr>
<td>

Number 2:</td><td> <input type="text" name="number2"></td>
</tr> 

<tr>
<td> 
Get Result:</td><td> <input type="text" name="total"> </td>
</tr>

<tr>
<td class="2">
<input type="button"  value="ADD" onclick="addition()">
<input type="button"  value="SUB" onclick="subtraction()">
<input type="button" value="MUL" onclick="multiply();">
<input type="button"   value="DIV" onclick="division()">
<input type="button"  value="MOD" onclick="modulus()">
</td>
</tr>
</table>
</form>

</body>
</html>

Bellow是一个PHP功能,我是crated.but is not not working

<?php

  error_reporting(E_ALL ^ E_NOTICE);

//if()
    function addition(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1+$number2;

    }


    function subtraction(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1-$number2;


    }


    function multiply(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1*$number2;
    }


    function division(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1/$number2;
    }


    function modulus(){

        $number1=$_POST['number1'];
        $number2=$_POST['number2'];
        echo $total=$number1%$number2;


    }


 ?>

4 个答案:

答案 0 :(得分:1)

你不能直接从html上下文调用php函数。像使用$_POSTnumber1一样使用number2变量,如下所示:

<input type="submit" name="mode" value="MOD">

在php方面:

if(isset($_POST['mode']) && $_POST['mode']=='MOD') modulus();

...或者只是使用javascript。

答案 1 :(得分:1)

试试这个。 你应该制作javascript函数。

<html>

<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
function addition()
{
    var total = parseInt($('#number1').val()) + parseInt($('#number2').val());
    $('#total').val(total);
}

function subtraction()
{
    var total = parseInt($('#number1').val()) - parseInt($('#number2').val());
    $('#total').val(total);
}

function multiply()
{
    var total = parseInt($('#number1').val()) * parseInt($('#number2').val());
    $('#total').val(total);
}

function division()
{
    var total = parseInt($('#number1').val()) / parseInt($('#number2').val());
    $('#total').val(total);
}

function modulus()
{
    var total = parseInt($('#number1').val()) % parseInt($('#number2').val());
    $('#total').val(total);
}
</script>
</head>

<body>

<form method="post" action="">
<table align="center" border="1px" bordercolor="#CC0033" bgcolor="#99CC00"> 
<tr>
<td>
Number 1:</td><td><input type="text" name="number1" id="number1"></td>
</tr>

<tr>
<td>

Number 2:</td><td> <input type="text" name="number2" id="number2"></td>
</tr> 

<tr>
<td> 
Get Result:</td><td> <input type="text" name="total" id="total"> </td>
</tr>

<tr>
<td class="2">
<input type="button"  value="ADD" onclick="addition()">
<input type="button"  value="SUB" onclick="subtraction()">
<input type="button" value="MUL" onclick="multiply();">
<input type="button"   value="DIV" onclick="division()">
<input type="button"  value="MOD" onclick="modulus()">
</td>
</tr>
</table>
</form>

</body>
</html>

答案 2 :(得分:1)

点击事件未在JavaScript中定义!!! 达到目标的一种方法是删除所有点击并尝试以下按钮:

<input type="submit" name="operation" value="ADD">
<input type="submit" name="operation" value="SUB">
<input type="submit" name="operation" value="MUL">
<input type="submit" name="operation" value="DIV">
<input type="submit" name="operation" value="MOD">

这样当单击按钮的“一个”时,您将按如下方式测试$ _POST ['operation']; 并让您的函数将结果返回到$ total

<?php 
$operation = isset($_POST['operation']) ? $_POST['operation'] : NULL;
switch($operation) {
    case 'ADD':
        $total = addition();
        break;

    case 'SUB':
        $total = subtraction();
        break;

    case 'MUL':
        $total = multiply();
        break;

    case 'DIV':
        $total = division();
        break;

    case 'MOD':
        $total = modulus();
        break;

    default:
        $total = '';
}
?>

答案 3 :(得分:0)

您已在PHP中声明了函数,并且您在onclick事件上调用了该函数,该函数尝试调用javascript函数。

如果你想调用php函数,你应该尝试

<input type="button" name="add" value="ADD">

<?php
    if(isset($_POST['add']))
    {
          addition();
    }
?>