ホームページ > バックエンド開発 > PHPチュートリアル > PHP で電卓を作成しましたが、問題が発生しました。解決してください。

PHP で電卓を作成しましたが、問題が発生しました。解決してください。

WBOY
リリース: 2016-06-23 14:03:51
オリジナル
1057 人が閲覧しました

これは 0 入力の処理コードです:

====================================== = ==========================

if($_POST['num0']){
$num=$_POST['num0' ] ;
if(is_dir('txt')){
$open=fopen("txt/caculator.txt","r+");
if(is_file("txt/caculator.txt")){
$a = file_get_contents("txt/caculator.txt");
$e=(int)$a; $b=$e."0"
file_put_contents("txt/caculator.txt",$b ); $open); ==============================
フォームは次のとおりです:
======== ===== ============================================ ===== ==









 計算機






if(is_readable("txt/caculator.txt")){
echo file_get_contents("txt/caculator.txt")


}
}else {
echo "0"
}
?> ;"/>

















































































🎜















if(!is_dir('txt')){
if(!is_file("txt/caculator.txt")){
echo"<script>alert('localhost txt の下にフォルダーを作成してくださいそして、フォルダー txt の下に caculator.txt <br> caculator2.txt caculator3.txt という 3 つのファイルを作成します。これで、タスクは正常に完了できます。 ');</script>";
}}
if($_POST[ 'num0 ']){
$num=$_POST['num0'];
if(is_dir('txt')){
$open=fopen("txt/caculator.txt","r+");
if (is_file) ( "txt/caculation.txt"){
= e。 ['num1'];
if(is_dir('txt')){
$open=fopen("txt/caculator.txt","r+");
if(is_file( "txt/caculator.txt")) {
「txt/caculator.txt」,$b); If($_POST['num2']){
//番号 2 をクリックしたときの反応
$num2=$_POST[ 'num2'];
if( ('txt')){
$open; file_get_contents("txt/caculator.txt")
fclose($open); //番号 3 をクリックしたときの応答
if($_POST['num3']){
     if(is_dir('txt')){
if(is_file("txt/caculator.txt")){
$open=fopen("txt/caculator.txt","r+");
$open;
$a=file_get_contents("txt/caculator.txt");
$b=$a.$num;
file_put_contents("txt/caculator.txt",$b); 
fclose($open);
}


//单击数字4の反应
if($_POST['num4']){
$num= $_POST['num4'];
if(is_dir('txt')){
if(is_file("txt/caculator.txt")){
$open=fopen("txt/caculator.txt","r+");
$open;
$a=file_get_contents("txt/caculator.txt");
$b=$a.$num;
file_put_contents("txt/caculator.txt",$b); 
fclose($open);
}


//单击数字5の反应
if($_POST['num5']){
$num= $_POST['num5'];
if(is_dir('txt')){
if(is_file("txt/caculator.txt")){
$open=fopen("txt/caculator.txt","r+");
$open;
$a=file_get_contents("txt/caculator.txt");
$b=$a.$num;
file_put_contents("txt/caculator.txt",$b); 
fclose($open);
}


//单击数字6の反应
if($_POST['num6']){

= $_POST['num6'];
if(is_dir('txt')){
if(is_file("txt/caculator.txt")){
$open=fopen("txt/caculator.txt","r+");
$open;
$a=file_get_contents("txt/caculator.txt");
$b=$a.$num;
file_put_contents("txt/caculator.txt",$b);
応答
if($_POST['num7']){

$num=$_POST['num7']
if(is_dir('txt'); ){
if(is_file("txt/caculator.txt")){
$open=fopen("txt/caculator.txt" ,"r+");
File_put_content s("txt/caculator.txt",$b) ;
fclose($open); $num=$_POST['num8']); is_dir('txt')){
$open; file_get_contents("txt/caculator.txt")
fclose($open) ;
// 数字 9 をクリックしたときの反応
if($_POST['num9' ]){

$num=$_POST['num9'];
if(is_dir('txt')){
if(is_file( " txt/caculator.txt")){
xt/caculator.txt");
$b = $ a. $ NUM;
File_put_Contents ("txt/Caculator.txt", $ b);
fclose ($ open) ;                if($_POST['ドット']){

$num=$_POST['ドット']; if(is_dir( 'txt')){
if(is_file( "txt/caculator.txt")){
$ open = fopen( "txt/caculator.txt"、 "r+");
$open;
$a=file_get_contents("txt/caculator.txt");
$findme= ".";
$pos=strpos($a, $findme);
if($pos==true){

file_put_contents("txt/caculator.txt",$a); 
fclose($open); 
}
else{
$b=$a.$num;
file_put_contents("txt/caculator.txt",$b); 
fclose($open);




//单击选项Cの反应
if( $_POST['クリア']){


if(is_dir('txt')){
if(is_file("txt/ caculator.txt")){
$open=fopen("txt/caculator.txt","w+");
$open;
$open=fopen("txt/caculator2.txt","w+");
$open2;
$open=fopen("txt/caculator3.txt","w+");
$open3;

}
}
//单击 ← 的反应
if($_POST['back']){
if(is_dir('txt')){
if(is_file("txt/caculator.txt" )){
$open=fopen("txt/caculator.txt","r+");
$open;
                $a=file_get_contents("txt/caculator.txt");
$a=substr($a,0,-1);
file_put_contents("txt/caculator.txt",$a);
. is_dir('txt')){
if(is_file("txt/caculator2.txt") &&is_file("txt/caculator.txt")&&is_file("txt/caculator3.txt")){
$open=fopen("txt/caculator.txt","r+");
$open;
$open2=fopen("txt/caculator2.txt","r+");
$open2;
$open3=fopen("txt/caculator3.txt","r+");
$open3;
$b="";
$c="+";
$a=file_get_contents("txt/caculator.txt");
file_put_contents("txt/caculator.txt",$b);
file_put_contents("txt/caculator2.txt",$a);
file_put_contents("txt/caculator3.txt",$c);
}


}
//单击的反应
if($_POST['sub']){
if(is _dir('txt')){
if(is_file("txt/caculator2.txt" )&&is_file("txt/caculator.txt")&&is_file("txt/caculator3.txt")){
$open=fopen("txt/caculator.txt","r+");
$open;
$open2=fopen("txt/caculator2.txt","r+");
$open2;
$open3=fopen("txt/caculator3.txt","r+");
$open3;
$b="";
$c="-";
$a=file_get_contents("txt/caculator.txt");
file_put_contents("txt/caculator.txt",$b);
file_put_contents("txt/caculator2.txt",$a);
                file_put_contents("txt/caculator3.txt",$c);
}



//单击乘的反应
if($_POST['mul']){
if(is_dir('txt')){
if(is_file("txt/caculator2.txt") )&&is_file("txt/caculator.txt")&&is_file("txt/caculator3.txt")){
$open=fopen("txt/caculator.txt","r+");
$open;
$open2=fopen("txt/caculator2.txt","r+");
$open2;
$open3=fopen("txt/caculator3.txt","r+");
$open3;
$b="";
$c="*";
$a=file_get_contents("txt/caculator.txt");
file_put_contents("txt/caculator.txt",$b);
file_put_contents("txt/caculator2.txt",$a);
file_put_contents("txt/caculator3.txt",$c);
}


}
//单击=的反应
if($_POST['equal']) {
if(is_dir('txt')){
if(is_file("txt/caculator2.txt") )&&is_file("txt/caculator.txt")&&is_file("txt/caculator3.txt")){
$open=fopen("txt/caculator.txt","r+");
$open;
$open2=fopen("txt/caculator2.txt","r+");
$open2;
$open3=fopen("txt/caculator3.txt","r+");
$open3;
$a=file_get_contents("txt/caculator.txt");
$b=file_get_contents("txt/caculator2.txt");
$c=file_get_contents("txt/caculator3.txt");
$nul="";
if($c=="+"){
$d=$b+$a;
                }
if($c=="-"){
$d=$b-$a;
}
if($c=="*"){
$d=$a*$b;
}
if($c=="/"){
$d=$b/$a;
}
if($c=="%"){
$d=$b%$a;
}
if($c=="+"){
$d=$a+$b;
}
if($c=="√"){
$d=sqrt($a);
}
file_put_contents("txt/caculator.txt",$d);

}


}

以上大部分代コード,由输入字制限,关

良い多世代コードはまた、直接の評価に問題があります

の問題は次のとおりです。
if($_POST['num0']){
$_POST['num0'] が 0 に等しいため、条件は常に不成立です。この分岐は入りません!
変更
if($_POST['num0'] == '0'){

你的程序设计的很不無理,必要做大幅调整
文件操作関数的使用也欠了
存在是用 file_get_contents, file_put_contents 读写文件,那么就不必要 fopen,fclose 做来摆设了
file_put_contents FILE_APPEND パラメータがあれば、出力後に手動で追加することなく、コンテンツにコンテンツを追加できます

必要に応じて、一度調整した後に代価提供を参照できます

AJAX を使用して、その後自動态 PHP 輖译を得ました、实际掴一

問題は次のとおりです:
if($_POST['num0']){
$_POST['num0'] が 0 であるため、条件は常に不成立です。 !
应改作
if($_POST['num0'] == '0'){

你的程序设计的很不理,必要大幅调整
做文件操作関数的使用也欠了
存在是用file_get_contents、file_put_contents 读写文件,那么就不要 fope……
版主大神啊...我还是刚开始学的...
求以后多多指教!

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート