这是我做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";
                echo $b;
                file_put_contents("txt/caculator.txt",$b); 
                fclose($open);
            }
           }
                }
=================================================================
这是表单:
=================================================================
<td width="">
<input type="submit" name="num0" value="0/>
</td>
=================================================================
全部代码在二楼。
主要意思就是 先在localhost下创建文件夹txt,再在文件夹txt下创建文件caculator.txt
caculator2.txt; caculator3.txt; 单击对应数字将数字显示到文本框,并存储到caculator.txt,
然后单击运算符,将对应运算符存储到caculator3.txt中,并将caculator.txt中的字符串存入caculator2.txt,然后清空caculator.txt,这是单击数字按钮输入第二个运算数字,并将第二个运算
数字存入caculator.txt中,当单击等于号,先对caculator3.txt中存入的运算符进行判断,然后进行
相应的运算。
其他都没问题,都可以实现,问题出现在输入0的时候,程序不会把0存入到文件中,导致0的输入不能实现,
不知道什么问题,求解答。初步估计是数据类型的问题phpfile存储

解决方案 »

  1.   

    <html>
    <head>
    <title> 计算器 </title>
    </head>
    <form action="caculator.php" method="post">
    <table>
    <tr>
    <td width="">
    <input type="text"readonly  name="input"  id="input" value="<?php 
           if(is_dir('txt')){
            if(is_file("txt/caculator.txt")){
                if(is_readable("txt/caculator.txt")){
                    echo file_get_contents("txt/caculator.txt");
                }
            }
           }else {
            echo "0";
           }
    ?>"/>
    </td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    </tr></table>
    <table><tr><td width="">
    <input type="submit" name="num1" value="1"/>
    </td><td width="">
    <input type="submit" name="num2" value="2"/>
    </td><td width="">
    <input type="submit" name="num3" value="3"/>
    </td><td width="">
    <input type="submit" name="add" value="+"/>
    </td><td width="">
    <input type="submit" name="remain" value="%"/>
    </td></tr><tr><td width="">
    <input type="submit" name="num4" value="4"/>
    </td><td width="">
    <input type="submit" name="num5" value="5"/>
    </td><td width="">
    <input type="submit" name="num6" value="6"/>
    </td><td width="">
    <input type="submit" name="sub" value="-"/>
    </td><td width="">
    <input type="submit" name="radical" value="√"/>
    </td></tr><tr><td width="">
    <input type="submit" name="num7" value="7"/>
    </td><td width="">
    <input type="submit" name="num8" value="8"/>
    </td><td width="">
    <input type="submit" name="num9" value="9"/>
    </td><td width="">
    <input type="submit" name="mul" value="×"/>
    </td><td width="">
    <input type="submit" name="back" value="←"/>
    </td></tr><tr><td width="">
    <input type="submit" name="dot" value="."/>
    </td><td width="">
    <input type="submit" name="num0" value="0/>
    </td><td width="">
    <input type="submit" name="equal" value="="/>
    </td><td width="">
    <input type="submit" name="div" value="÷" />
    </td>
    <td width="">
    <input type="submit" name="Clear" value="C"/>
    </td>
    </tr>
    </table>
    </form>
    </html>
      

  2.   

    <?php
    if(!is_dir('txt')){
        if(!is_file("txt/caculator.txt")){
     echo"<script>alert('请在localhost下创建文件夹txt,并在文件夹txt下创建3个文件,分别是caculator.txt
      caculator2.txt caculator3.txt 然后才能正常完成任务!');</script>";
      }}
    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";
                    echo $b;
                    file_put_contents("txt/caculator.txt",$b); 
                    fclose($open);
                }
               }
                    }
    //单击数字1的反应
            if($_POST['num1']){
        $num=$_POST['num1'];
       if(is_dir('txt')){
                $open=fopen("txt/caculator.txt","r+");
                if(is_file("txt/caculator.txt")){
                    $a=file_get_contents("txt/caculator.txt");
                    $b=$a.$num;
                    file_put_contents("txt/caculator.txt",$b); 
                    fclose($open);
                }
               }
                    }
                    
                    if($_POST['num2']){
     //单击数字2的反应   
        $num2=$_POST['num2'];
         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.$num2;
                    file_put_contents("txt/caculator.txt",$b); 
                    fclose($open);
                }
               }
                   }
    //单击数字3的反应
     if($_POST['num3']){
        
        $num=$_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']){
        
        $num=$_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); 
                    fclose($open);
                }
               }
                   }
    //单击数字7的反应
     if($_POST['num7']){
        
        $num=$_POST['num7'];
         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);
                }
               }
                   }
    //单击数字8的反应
     if($_POST['num8']){
        
        $num=$_POST['num8'];
         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);
                }
               }
                   }
    //单击数字9的反应  
     if($_POST['num9']){
        
        $num=$_POST['num9'];
         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);
                }
               }
                   }  
                   //单击 点 的反应
                    if($_POST['dot']){
            
        $num=$_POST['dot'];
        
        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['Clear']){
        
        
         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);
                }
               }
                   }   
    //单击+的反应
           if($_POST['add']){
            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['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);
                    
                }
               }
            
           }     
      

  3.   

    你的问题在于:
    if($_POST['num0']){
    因为 $_POST['num0'] 等于 0,所以条件恒不成立。该分支不会进入!
    应改作
    if($_POST['num0'] == '0'){你的程序设计的很不合理,需要做大幅度调整
    文件操作函数的使用也欠妥
    既然是用 file_get_contents、file_put_contents 读写文件,那么就不需要 fopen、fclose 再来做摆设了
    file_put_contents 有一个 FILE_APPEND 参数可以附加内容到文件,而无需读出后人工追加如果需要,可以你一个调整后的代码供参考
      

  4.   

    用AJAX,然后动态PHP编译就得了,实际把一大堆公司放进去计算好了。