411 12
发新话题
打印

菜鸟编码的错误。。。求教,谢谢!

本主题由 admin 于 2007-11-4 12:02 移动

菜鸟编码的错误。。。求教,谢谢!

编写了两个文件,分别是 calculate.html 和 chuli.php

calculate.html代码如下:


<html>
<head>
<title>简单计算器</title>
</head>
<body>
<form name="chuli" method=post action="chuli.php" >


请输入第一个数字:<input type="text" name="first" length=10><br>


请输入第二个数字:<input type="text" name="first" length=10><br>

请选择欲计算的种类:<select name="xuanze">
<option value="jia">加法
<option value="jian">减法
<option value="cheng">乘法
<option value="chu">除法
</select><br>

<input type="submit" value="计算结果">    
<input type="reset" value="重新填写">
</form>
</body>
</html>




chuli.php代码如下:

<?php

switch ($select)
{

  case "jia":
  $sum=$first+$second;
  echo "计算结果为:".$first."+".$second."=".$sum;
  break;

  case "jian":
  $sum=$first-$second;
  echo "计算结果为:".$first."-".$second."=".$sum;
  break;

  case "cheng":
  $sum=$first*$second;
  echo "计算结果为:".$first."*".$second."=".$sum;
  break;

  case "jia":
  $sum=$first/$second;
  echo "计算结果为:".$first."/".$second."=".$sum;
  break;

}

?>

把两个文件上传到php空间里,执行 calculate.html文件之后,提交到chuli.php,却没有结果,只有空白。。。到底是怎么回事呢。。。。谢谢!!!!

TOP

错误:
1. 表单上的:你二个输入框名字明显错误。应为second.
2. 你switch后的输入量应为$xuanze,哪来的$select.最后得不到结果应有个default.

建议:
1. 变量不宜只接使用,从开始就要有好习惯。比如$_POST['value']或者$_REQUEST['value']这种方式才是对的。
2. 呵呵,一些东西不是你不会,只是你没有仔细。
一個偽裝成白癡的天纔!

TOP

引用:
原帖由 flyindance 于 2007-9-19 08:28 发表
错误:
1. 表单上的:你二个输入框名字明显错误。应为second.
2. 你switch后的输入量应为$xuanze,哪来的$select.最后得不到结果应有个default.

建议:
1. 变量不宜只接使用,从开始就要有好习惯。比如$_ ...
谢谢谢谢谢谢!!!

TOP

修改了second和xuanze之后,还是出错。。。

提示:

Notice: Undefined variable: xuanze in e:\zhangtao\php\htdocs\chuli.php on line 3


哎。。头都大了。。。

TOP

贴改后的code看看

TOP

修改了second和xuanze之后,还是出错。。。

提示:

Notice: Undefined variable: xuanze in e:\zhangtao\php\htdocs\chuli.php on line 3


哎。。头都大了。。。

TOP

改后的:

calculate.html代码如下:


<html>
<head>
<title>简单计算器</title>
</head>
<body>
<form name="chuli" method=post action="chuli.php" >


请输入第一个数字:<input type="text" name="first" length=10><br>


请输入第二个数字:<input type="text" name="second" length=10><br>

请选择欲计算的种类:<select name="xuanze">
<option value="jia">加法
<option value="jian">减法
<option value="cheng">乘法
<option value="chu">除法
</select><br>

<input type="submit" value="计算结果">   
<input type="reset" value="重新填写">
</form>
</body>
</html>




chuli.php代码如下:

<?php

switch ($xuanze)
{

  case "jia":
  $sum=$first+$second;
  echo "计算结果为:".$first."+".$second."=".$sum;
  break;

  case "jian":
  $sum=$first-$second;
  echo "计算结果为:".$first."-".$second."=".$sum;
  break;

  case "cheng":
  $sum=$first*$second;
  echo "计算结果为:".$first."*".$second."=".$sum;
  break;

  case "jia":
  $sum=$first/$second;
  echo "计算结果为:".$first."/".$second."=".$sum;
  break;

}

?>



提示:

Notice: Undefined variable: xuanze in e:\zhangtao\php\htdocs\chuli.php on line 3

TOP

然后,我把chuli.php又修改了下:

<?php

switch ($_POST['xuanze'])
{

  case "jia":
  $sum=$_POST['first']+$_POST['second'];
  echo "计算结果为:".$_POST['first']."+".$_POST['second']."=".$sum;
  break;

  case "jian":
  $sum=$_POST['first']-$_POST['second'];;
  echo "计算结果为:".$_POST['first']."-".$_POST['second']."=".$sum;
  break;

  case "cheng":
  $sum=$_POST['first']*$_POST['second'];;
  echo "计算结果为:".$_POST['first']."*".$_POST['second']."=".$sum;
  break;

  case "jia":
  $sum=$_POST['first']/$_POST['second'];;
  echo "计算结果为:".$_POST['first']."/".$_POST['second']."=".$sum;
  break;

}

?>



成功了!!!

可是我有个疑问,变量难道不能直接用吗??非得放进$_POST['']里才可以吗???怎么我看教材上是可以直接用的呢???

TOP

这是你php.ini中register global设置的问题,不管能不能我们的程序从来不会真接用变量,这样是极不安全的。

TOP

希望LZ以后认真点

TOP

 411 12
发新话题