Heim > Artikel > Backend-Entwicklung > Ein Rechner, der auf einem kleinen Programm basiert, das in der PHP-Grundsprache geschrieben ist
Rechner basierend auf einem kleinen Programm, das in der Grundsprache PHP geschrieben ist
Anforderungen: Geben Sie Zahlen in das Eingabefeld ein, um Additions-, Subtraktions-, Multiplikations- und Divisionsoperationen durchzuführen (html+php)
Ideen :
1 Erstellen Sie zunächst ein Eingabefeld zur Eingabe von Zahlen und Operatoren. Verwenden Sie das Textattribut „Eingabe“ für Zahlen und das Optionsattribut „sellct“ für Operatoren.
2 Klicken Sie auf „=“. Der entsprechende Vorgang
3 = Zahl, dieses Eingabefeld kann mit der Eingabe übermittelt werden. Klicken Sie einfach auf das Absenden-Formular und der Inhalt wird an PHP übergeben
4 Bestimmen Der aus HTML erhaltene Operator führt den entsprechenden Vorgang aus
5 Nach Abschluss des Vorgangs muss das Ergebnis an das Formular zurückgegeben werden (d. h. dem Formular wird ein Wert zugewiesen)
Code
Html-Code
<form method="post" action=””>//method代表的表单的提交方式,本案例选的是post提交 action是接受的页面,为空表示提交到当前页 <input type = "text" name="num1" > <select name = "select"> <option value="+" >+</option> <option value="-" >-</option> <option value="*" >*</option> <option value="/" >/</option> </select> <input type = "text" name="num2" > <input type = "submit" name = "submit" value="="> <input type = "text" name="result" > </form>
PHP-Code
Wenn der Benutzer auf die Schaltfläche „Senden“ klickt, wird der Wert angezeigt Jetzt müssen wir den Wert im Formular akzeptieren.
Treffen Sie mehrere Urteile, bevor Sie klicken
if (isset($_POST['submit'])) { //isset检测变量是否设置,存在,或非NULL, 返回值为布尔, 如果变量存在返回true, 否则为false;,结合$_POST[“submit”], $_POST //接收通过表单的method=’post’ 方法的传值 $num1 = $_POST['num1'];//获取第一个输入框中的值,通过input中的name属性获得 $select = $_POST['select'];//同上 $num2 = $_POST['num2'];//同上 if (is_numeric($num1) && is_numeric($num2)) { //is_numeric() //检测变量是否为数字或数字字符串 返回值 ,true, false 如 100, ‘100’ switch ($select) {//$select是前面传来的运算符 case '+'://根据switch的语法,case中的值和switch括号里的值相等那么就执行case后面的那句话,不等则继续往下找 $result = $num1+$num2; break; case '-': $result = $num1-$num2; break; case '*': $result = $num1*$num2; break; default: if ($num2==0) {//加个判断,除数不能为0 echo "<script>alert('输入的除数为0请重新输入')</script>"; }else{ $result = $num1/$num2; break; } } }else{ //echo 当用户输入的不是数,可能是字符串则给用户提示 echo "<script>alert('输入的不是数')</script>"; $num1 = $num2 = $result = "";//把表单里的内容清空 } }
Screenshot des laufenden Ergebnisses
Screenshot der korrekt eingegebenen Zahl
Nach dem Klicken auf das =-Zeichen
Es bedeutet, dass der Wert nicht an das Formular in HTML übergeben wird
Jetzt haben wir Sie müssen den Formularwert festlegen
//Setzen Sie den Wert von value auf num nach der Operation im PHP-Wert ; ;?php echo $result?>">
; Das Eingabefeld hat jetzt Inhalt, wenn die Schaltfläche gesendet wird. Wenn der Benutzer also nicht auf die Schaltfläche „Senden“ klickt, sollte der Wert im Eingabefeld festgelegt werden leeren
Verbessern Sie den Code und fügen Sie am Ende des PHP-Codes ein else{
$num1 =$num2 = $result = "";}Screenshot
Beim Klicken auf andere Vorgänge ist der mittlere Operator immer +, Screenshot
Codeverbesserungin HTML//select hat ein Attribut ausgewählt. Wenn es festgelegt ist, wird es ausgewählt von Standard, daher muss es mit dem von PHP übergebenen Wert verglichen werden. True bedeutet ausgewählt, false bedeutet nicht ausgewählt. ;>-
截图看结果
当用户第一次进来
截图
说明要设置selecte中的默认值
代码
$select=”+”
基本功能已经完成
总的代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <?php if (isset($_POST['submit'])) { //isset检测变量是否设置,存在,或非NULL, 返回值为布尔, 如果变量存在返回true, 否则为false;,结合$_POST[“submit”], $_POST //接收通过表单的method=’post’ 方法的传值 $num1 = $_POST['num1'];//获取第一个输入框中的值,通过input中的name属性获得 $select = $_POST['select'];//同上 $num2 = $_POST['num2'];//同上 if (is_numeric($num1) && is_numeric($num2)) { //is_numeric() //检测变量是否为数字或数字字符串 返回值 ,true, false 如 100, ‘100’ switch ($select) {//$select是前面传来的运算符 case '+'://根据switch的语法,case中的值和switch括号里的值相等那么就执行case后面的那句话,不等则继续往下找 $result = $num1+$num2; break; case '-': $result = $num1-$num2; break; case '*': $result = $num1*$num2; break; default: if ($num2==0) {//加个判断,除数不能为0 echo "<script>alert('输入的除数为0请重新输入')</script>"; }else{ $result = $num1/$num2; break; } } }else{ //echo 当用户输入的不是数,可能是字符串则给用户提示 echo "<script>alert('输入的不是数')</script>"; $num1 = $num2 = $result = "";//把表单里的内容清空 } }else{ $num1 = $num2 = $result = ""; $select = "+"; } ?> <form method="post" action=""><!-- //method代表的表单的提交方式,本案例选的是post提交 action是接受的页面,为空表示提交到当前页 --> <input type = "text" name="num1" value="<?php echo $num1?>" > <select name = "select"> <option value="+" <?php if($select == '+')echo 'selected'?>>+</option> <option value="-" <?php if($select == '-')echo 'selected'?>>-</option> <option value="*" <?php if($select == '*')echo 'selected'?>>*</option> <option value="/" <?php if($select == '/')echo 'selected'?>>/</option> </select> <input type = "text" name="num2" value="<?php echo $num2?>" > <input type = "submit" name = "submit" value="="> <input type = "text" name="result" value="<?php echo $result?>"> </form> </body> </html>