非常に単純な質問ですが、理由がわかりません。
index.php
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><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>
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?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; } } ?>