天天看点

PHP 面向对象使用案例

例1:用面向对象,编写简单的四则运算

<a target="_blank" href="http://blog.51cto.com/attachment/201309/145132154.jpg"></a>

前台页面:e.php

&lt;html&gt;

&lt;head&gt;

&lt;meta http-equiv="content-type" content="text/html;charset=utf-8"/&gt;

&lt;/head&gt;

&lt;form action="jisuanqi.php" method="post"&gt;

&lt;h1&gt;四则运算&lt;/h1&gt;

第一个数;&lt;input type="text" name="num1" /&gt; &lt;br/&gt;

第二个数;&lt;input type="text" name="num2" /&gt; &lt;br/&gt;

运算符号:

&lt;select name="oper"&gt;

&lt;option value="+"&gt;+&lt;/option&gt;

&lt;option value="-"&gt;-&lt;/option&gt;

&lt;option value="*"&gt;*&lt;/option&gt;

&lt;option value="/"&gt;/&lt;/option&gt;

&lt;/select&gt;

&lt;br/&gt;

&lt;input type="submit" value="开始计算"/&gt;

&lt;/form&gt;

&lt;/html&gt;

运行结果如下:

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447658kFnm.jpg"></a>

功能实现~

如果想返回主界面,重新计算,可写个超链接,在jisuanqi.php中

末尾,php外,增加如下即可:

&lt;a href="e.php"&gt; 返回主界面

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447660Lr9I.jpg"></a>

例2:隐藏域的巧妙运用!(区分来自不同的请求)

第1个页面:e.php (提交数据)

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447661pkzg.jpg"></a>

&lt;!-- 这里是隐藏域--&gt;

&lt;input type="hidden" name="doing" value="js"/&gt;

&lt;h1&gt;圆的面积计算:&lt;/h1&gt;

请输入半径;&lt;input type="text" name="rad" /&gt; &lt;br/&gt;

&lt;input type="hidden" name="doing" value="area"/&gt;

&lt;input type="submit" value="计算面积"/&gt;

第2个页面:jisuanqi.php (接收数据)

&lt;?php

require_once "Cat.class.php";

$doing=$_REQUEST['doing'];

$cat1=new Cat(); // 需要写在if外面,都要用的

if($doing=="js")

{

$num1=$_REQUEST['num1'];

$num2=$_REQUEST['num2'];

$oper=$_REQUEST['oper'];

echo '计算结果是:'.$cat1-&gt;jiSuan($num1,$num2,$oper);

}else if($doing=="area")

{ $radius=$_REQUEST['rad'];

echo '圆的面积是:'.$cat1-&gt;circleArea($radius);

}

?&gt;

第3个页面:类 Cat.class.php

class Cat

function circleArea($radius)

return 3.14*$radius*$radius;

function jiSuan($num1,$num2,$oper)

$res=0;

if($oper=="+")

$res=$num1+$num2;

}else if($oper=="-")

$res=$num1-$num2;

}else if($oper=="*")

$res=$num1*$num2;

}else if($oper=="/")

$res=$num1/$num2;

return $res;

第4:运行结果:

计算的结果:

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447663inU8.jpg"></a>

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447665OTlX.jpg"></a>

面积的结果:

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447667nGvy.jpg"></a>

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447669yCmE.jpg"></a>

例3:节约界面

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_13784476717C6O.jpg"></a>

这个计算调用的是前面设计好的jisuanqi.php获得的

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447671ZWL9.jpg"></a>

<a href="http://guojiping.blog.51cto.com/attachment/201309/6/5635432_1378447675k3Pz.jpg"></a>

Jyjm.php代码如下:

&lt;script language="javascript"&gt;

function selType(val)

{ window.alert("你点中了"+val);//如果感觉这个碍事,可注销掉

if (val=='jisuan')

table1.style.display="block";

table2.style.display="none";

}else if (val=='area')

table1.style.display="none";

table2.style.display="block";

&lt;/script&gt;

&lt;h1&gt; 聪明的郭郭&lt;/h1&gt;

&lt;input type="radio" name="sel" value="num1" 四则运算

&lt;input type="radio" name="sel" value="num2" 计算矩形

&lt;table id="table1" style="display: block"&gt;

&lt;tr&gt;&lt;td&gt;请输入第1个数&lt;/td&gt;&lt;td&gt;&lt;input type="text" name="num1"/&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;请输入第2个数&lt;/td&gt;&lt;td&gt;&lt;input type="text" name="num2"/&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;请选择运算符&lt;/td&gt;&lt;td&gt;

&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan="2"&gt;&lt;input type="submit" name="四则运算"/&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;/table&gt;

&lt;table id="table2" style="display: none" &gt;

&lt;tr&gt;&lt;td&gt;请输入长&lt;/td&gt;&lt;td&gt;&lt;input type="text" name="long"/&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td&gt;请输入宽&lt;/td&gt;&lt;td&gt;&lt;input type="text" name="wide"/&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt;&lt;td colspan="2"&gt;&lt;input type="submit" name="计算矩形"/&gt;&lt;/td&gt;&lt;/tr&gt;

本文转自 gjp0731 51CTO博客,原文链接:http://blog.51cto.com/guojiping/1289945