天天看點

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