-2

我一直在用 php 开发 OOP 计算器,但是我有一个问题:每当我保存它并在 Firefox 中运行它时,它都会显示这样的代码

图片

堆栈溢出希望我添加更多描述,所以等等等等

我一直在使用的代码是

<html>
<body>
<?php
$page = $GET['page'];

class calc{
    var $number1;
    var $number2;

        function add($number,$number2)
        {
            $result = $number1 + $number2;
            echo("The sum of $number1 and $number2 is $result<br><br>");
            echo("$number1 + $number 2 = $result");
            exit;
            }

        function subtract($number1,$number2)
        {
            $result = $number1 - $number2;
            echo("$number1 subtract $number2 is $result<br><br>");
            echo("$number1 - $number2 = $result");
            exit;
            }

        function multiply($number1,$number2)
        {
            $result  = $number1 * $number2;
            echo("$number1 multiplied by $number2 is $result<br><br>");
            echo("$number1 * $number2 = $result");
            exit;
            }

        function divide($number1,$number2)
        {
            $result = $number1 / $number2;
            echo("$number1 divided by $number2 is $result<br><br>");
            echo("$number1 / $number2 = $result");
            exit;
            }
            }
            $calc = new calc();
            ?>

<title>php object oriented calculator</title>
<form name="calc" action="?page=calc" method="POST">
Number 1: <input type=text name=value1><br>
Number 2: <input type=text name=value2><br>
Operation: <input type=radio name=oper value="add">Addition <input type=radio name=oper value="subtract">Subtraction <input type=radio name=oper value="divide">Division <input type=radio name=oper value="multiply">Multiplication</input><br>
<input type=submit value="Calculate">
</form> 

<?php
if($page == "calc"){
$number1 = $_POST['value1'];
$number2 = $_POST['value2'];
$oper = $_POST['oper'];
    if(!$number1){
        echo("You must enter number 1!");
        exit;
        }
        if(!$number2){
            echo("You must enter number 2!");
            exit;
            }
        if(!$oper){
            echo("You must select an operation to do with the numbers!");
            exit;
            }
        if(!eregi("0-9", $number1)){
            echo("Number 1 MUST be numbers!");
            exit;
            }
        if(!eregi("0-9", $number2)){
            echo("Number 2 MUST be numbers!");
            exit;
            }   
        if($oper == "add"){
            $calc->add($number1,$number2);
            }

        if $oper =="subtract"){
            $calc->subtract($number1,$number2);
            }
        if $oper = "multiply"){
            $calc->multiply($number1,$number2);
            }
        if $oper = "divide"){
            $calc->divide($number1,$number2);
            }
            }
?>
</body>
</html>
4

4 回答 4

2

您不能简单地通过在浏览器中打开文件来运行 PHP。现在您正在直接加载文件 - file:///C:/Documents.... 那是行不通的。您需要 WAMP、XAMPP 或类似程序(或手动下载并安装 Apache、PHP、MySQL、phpMyAdmin 等)才能运行 PHP。

安装完成后,可以将脚本文件放在www/htdocs文件夹中,然后加载localhost/yourFile.php.

希望这可以帮助!

于 2013-07-23T17:07:02.047 回答
1

您的浏览器不知道如何解释 PHP。您需要在您的机器上安装 PHP 来解释 PHP 并通过服务器将其结果传递给您的浏览器。

正如 anon 所建议的那样,XAMPP 和 WAMP 是很好的集成解决方案,可以安装所需的整个技术堆栈。

于 2014-10-08T01:01:05.637 回答
0

我对您的代码进行了一些调试更改。在这里试试:

代码: http: //phpfiddle.org/api/raw/g9x-m73

执行它: http: //phpfiddle.org/api/run/g9x-m73

该代码由于某种原因在 php fiddle 中没有运行,但您可以在您的系统上尝试它。

于 2013-07-23T17:11:00.350 回答
0
  1. 你错过了开始的 php 标签<?php
  2. 在服务器中运行您的代码。您正在像普通的 html 文件一样运行您的 php 代码。本教程将帮助您在 Windows 中安装服务器。
于 2013-07-23T17:11:46.290 回答