虽然这是一个比较简单的小程序,但是在看过一遍视频之后还是感觉无从下手。只要原因是没有思路,准确说是缺乏对程序的一个整体的构思。
先来说一下编写简单计算器代码的构思:
建立index.php文件—>
编写html基本结构:head、title、body—>
使用表单table结构提交数据给php进行运算—>
定义form,声明提交方式:<form action="index.php" method="post">—>
php通过$_POST数组获取到的数组格式[name]:value —>
在html中嵌套php语言用于对数据进行处理和运算—>
使用switch分支结构判断选择的运算符进行运算,并将结果存放在$sum变量中—>
基本功能实现—>优化—>
php是弱文本类型的语言,因此不需要关注提示信息和警告—>消除警告信息:error_reporting(E_ALL & ~E_NOTICE);—>
进行运算的两个数字都不能为空,且不能为非数字数据①—>
保留两个输入框里运算的数据和选择的运算符②—>
完成—>—>—>—>—>
注释:
①考虑到要判断多个条件,且每个判断条件输出都要输出不同的提示信息。因此引入标志变量$flag,在使用$flag时给它一个初始值:true。然后在编写不合法的判断条件,将$flag的值改为false;
定义一个变量$errormess输出错误信息,在不合法的判断语句里用$errormess.="错误信息",来储存错误信息;最后在htmlz中判断标志变量的真假:若真,则输入的数据格式正确,可进行运算。若假,则输出存储错误信息的变量$errormess。
②input标签通过在其value属性中加入php代码,运用php代码将刚输入的数据显示在数据框中:value="<?php echo $_POST['num'] ?>"
要想保留select标签选中的值,需要将选中的option标签标记为selected。因此在每个option中加入php代码判断表单中提交的$_POST['ysf']的是否跟当前标签的属性值对应,如对应则输出该标签为selected:<?php if($_POST['ysf']=="+") echo "selected"; ?>