index.php
<html>
<head>
<title>计算</title>
</head>
<body>
<p><center>周长面积计算</center></p>
<p><center>
<a href="index.php?id=rect">正方形</a> || 
<a href="index.php?id=triangle">三角形</a> || 
<a href="index.php?id=circle">圆形</a>
</center></P>
<hr>
<?php
function __autoload($className){
include $className.'.class.php';
}
echo new form;
echo $_REQUEST['id'];
?>
</body>
</html>
form.class.php<?php
class form{
private $shape;
function __construct(){
$this->shape=isset($_REQUEST["id"]) ? $_REQUEST["id"]:"rect";
}
function __toString(){
$form='<form action="" method="post" >';
switch($this->shape){
case "rect":
$form.=$this->getRect();
break;
case "Triangle":
$form.=$this->getTriangle();
break;
case "circle":
$form.=$this->getCircle();
break;
default:
echo '没有这个图形';
}
$form.='<input type="submit" name="sub" value="计算">';
$form.='</form>';
return $form;
}
private function getRect(){
$input='<p><b>请输入矩形的宽高</b></P>';
$input.='<p>宽度:<input type="text" name="width" value="'.$_POST["sub"].'"></p>';
$input.='<p>高度:<input type="text" name="height" value="'.$_POST["sub"].'"></p>';
return $input;
}
private function getTriangle(){
$input='<p><b>请输入三角形的三边</b></P>';
$input.='<p>第一边:<input type="text" name="side1" value="'.$_POST["sub"].'"></p>';
$input.='<p>第二边:<input type="text" name="side2" value="'.$_POST["sub"].'"></p>';
$input.='<p>第三边:<input type="text" name="side3" value="'.$_POST["sub"].'"></p>';
return $input;
}
private function getCircle(){
$input='<p><b>请输入圆的半径</b></P>';
$input.='<p>半径:<input type="text" name="radius" value="'.$_POST["sub"].'"></p>';
return $input;
}
}
?>
--------------------------------------------------------
点三角形的时候,为什么会输出‘没有这个图形’,那里写错了?