第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

求解答php一個(gè)簡(jiǎn)易的計(jì)算器的程序問(wèn)題?

求解答php一個(gè)簡(jiǎn)易的計(jì)算器的程序問(wèn)題?

PHP
慕容粉絲 2016-08-03 23:06:42
<?php //計(jì)算器處理的PHP代碼 if(!empty($_POST['sub'])){ //echo "提交"; $err = ""; $flag = true; if($_POST['num1'] == ""){ $flag = false; $err .="第一個(gè)數(shù)不能為空<br>"; }else{ if(!is_numeric($_POST['num1'])){ $flag = false; $err .="第一個(gè)不是數(shù)字,無(wú)法計(jì)算<br>"; } } if($_POST['num2'] == ""){ $flag = false; $err .="第二個(gè)數(shù)不能為空"; }else{ if(!is_numeric($_POST['num2'])){ $flag = false; $err .="第二個(gè)不是數(shù)字,無(wú)法計(jì)算<br>"; } } $sum = 0; if($flag){ switch($_POST['ysf']){ case "+": $sum = $_POST['num1'] + $_POST['num2']; break; case "-": $sum = $_POST['num1'] - $_POST['num2']; break; case "x": $sum = $_POST['num1'] * $_POST['num2']; break; case "/": if($_POST['num2'] == 0){ $flag = false; $err .= "除數(shù)不能為0"; break; }else{ $sum = $_POST['num1'] / $_POST['num2']; break; } case "%": if($_POST['num2'] == 0){ $flag = false; $err .= "除數(shù)不能為0"; break; }else{ $sum = $_POST['num1'] % $_POST['num2']; break; } } } }?><html><head> <title>簡(jiǎn)易計(jì)算器</title></head><body> <table align="center" border=0 width="400"> <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <caption><h1>一個(gè)簡(jiǎn)易計(jì)算器</h1></caption> <tr> <td> <input type="text" name="num1" value="<?php echo $num1; ?>" size=5> </td> <td> <select name="ysf"> <option name="+" <?php if($_POST['ysf'] == "+") echo "selected"; ?>>+</option> <option name="-" <?php if($_POST['ysf'] == "-") echo "selected"; ?>>-</option> <option name="x" <?php if($_POST['ysf'] == "x") echo "selected"; ?>>x</option> <option name="/" <?php if($_POST['ysf'] == "/") echo "selected"; ?>>/</option> <option name="%" <?php if($_POST['ysf'] == "%") echo "selected"; ?>>%</option> </select> </td> <td> <input type="text" name="num2" value="<?php echo $num2; ?>" size=5> </td> <td> <input type="submit" name="sub" value="提交"> </td> </tr> <tr> <td colspan="4"> <?php if($flag){ echo "運(yùn)算結(jié)果是:".$_POST['num1'].' '.$_POST['ysf'].' '.$_POST['num2'].' = '.$sum; }else{ echo $err; } ?> </td> </tr> </form> </table></body></html>err以及flag變量均已在代碼上部php代碼中定義,但是運(yùn)行時(shí)還是提示在html代碼塊中flag和err沒(méi)有定義,請(qǐng)問(wèn)這樣改如何解決?另外就是提示變量num1和變量num2沒(méi)有定義,這樣的提示是否是需要$num1 = $_POST['num1']; 這樣定義一下?
查看完整描述

1 回答

已采納
?
慕函數(shù)1130379

TA貢獻(xiàn)7條經(jīng)驗(yàn) 獲得超2個(gè)贊

問(wèn)題1:err以及flag變量均已在代碼上部php代碼中定義,但是運(yùn)行時(shí)還是提示在html代碼塊中flag和err沒(méi)有定義

請(qǐng)檢查你2個(gè)變量的定義位置,你會(huì)發(fā)現(xiàn)是在if(!empty($_POST['sub'])){}方法體中,因?yàn)橹绻麤](méi)有提交數(shù)據(jù),這2個(gè)變量是不會(huì)被定義的,所以要在提交判斷之前就進(jìn)行定義。

問(wèn)題2:另外就是提示變量num1和變量num2沒(méi)有定義,這樣的提示是否是需要$num1 = $_POST['num1']; 這樣定義一下?

num1和num2在程序中是沒(méi)有定義的,所以需要在提交判斷之前就先定義,而$num1 = $_POST['num1']; 的操作,必須在有數(shù)據(jù)提交的時(shí)候才能執(zhí)行,否則由于沒(méi)有post數(shù)據(jù),會(huì)導(dǎo)致出現(xiàn)錯(cuò)誤,

最后,html代碼體中,不能使用$_POST['num1']這樣的方式取值,因?yàn)樵谑状芜M(jìn)入頁(yè)面的時(shí)候,沒(méi)有post數(shù)據(jù),所以$_POST['num1']也會(huì)報(bào)錯(cuò)。以下為修改后代碼,請(qǐng)注意加粗的代碼:

<?php

//計(jì)算器處理的PHP代碼


//tip:這里要先定義

$num1='';

$num2='';

$ysf='';

//tip:提示變量的定義要在判斷數(shù)據(jù)提交之前

$err = "";

$flag = true;

$sum = 0;


if(!empty($_POST['sub'])){

//echo "提交";

//tip:檢測(cè)到數(shù)據(jù)提交,進(jìn)行賦值,以便在頁(yè)面上展示數(shù)據(jù)

$num1=$_POST['num1'];

$num2=$_POST['num2'];

$ysf=$_POST['ysf'];

if($_POST['num1'] == ""){

$flag = false;

$err .="第一個(gè)數(shù)不能為空<br>";

}else{

if(!is_numeric($_POST['num1'])){

$flag = false;

$err .="第一個(gè)不是數(shù)字,無(wú)法計(jì)算<br>";

}

}

if($_POST['num2'] == ""){

$flag = false;

$err .="第二個(gè)數(shù)不能為空";

}else{

if(!is_numeric($_POST['num2'])){

$flag = false;

$err .="第二個(gè)不是數(shù)字,無(wú)法計(jì)算<br>";

}

}


if($flag){

switch($_POST['ysf']){

case "+":

$sum = $_POST['num1'] + $_POST['num2'];

break;

case "-":

$sum = $_POST['num1'] - $_POST['num2'];

break;

case "x":

$sum = $_POST['num1'] * $_POST['num2'];

break;

case "/":

if($_POST['num2'] == 0){

$flag = false;

$err .= "除數(shù)不能為0";

break;

}else{

$sum = $_POST['num1'] / $_POST['num2'];

break;

}

case "%":

if($_POST['num2'] == 0){

$flag = false;

$err .= "除數(shù)不能為0";

break;

}else{

$sum = $_POST['num1'] % $_POST['num2'];

break;

}

}

}

}


?>

<html>

<head>

<title>簡(jiǎn)易計(jì)算器</title>

</head>

<body>

<table align="center" border=0 width="400">

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">

<caption><h1>一個(gè)簡(jiǎn)易計(jì)算器</h1></caption>

<tr>

<td>

<input type="text" name="num1" value="<?php echo $num1; ?>" size=5>

</td>


<td>

<select name="ysf">

<option name="+" <?php if($ysf == "+") echo "selected"; ?>>+</option>

<option name="-" <?php if($ysf == "-") echo "selected"; ?>>-</option>

<option name="x" <?php if($ysf == "x") echo "selected"; ?>>x</option>

<option name="/" <?php if($ysf == "/") echo "selected"; ?>>/</option>

<option name="%" <?php if($ysf == "%") echo "selected"; ?>>%</option>

</select>

</td>


<td>

<input type="text" name="num2" value="<?php echo $num2; ?>" size=5>

</td>


<td>

<input type="submit" name="sub" value="提交">

</td>

</tr>


<tr>

<td colspan="4">

<?php

if($flag){

? ? echo "運(yùn)算結(jié)果是:".$num1.' '.$ysf.' '.$num2.' = '.$sum;

}else{

echo $err;

}

?>

</td>

</tr>


</form>

</table>

</body>

</html>


查看完整回答
反對(duì) 回復(fù) 2016-09-19
  • 1 回答
  • 1 關(guān)注
  • 1920 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)