小弟我正在做毕设,现在想要实现在一个页面上点击一个按钮,让服务器端运行一个.php的文件(这个php文件在服务器本地生成一个txt文件)。
up.php文件如下:
<?php 
$filename = "Test.txt";
$file = fopen($filename, "w+"); 
fwrite($file, "UP\n"); 
fclose($file);?>
不知道这个html文件怎么写,如何写按钮调用php文件?
看了论坛上一些东西,初步了解以下两种,不知哪种是对的:
1. <FORM action="up.php" method="post"><input   type=submit   name="test"   value="Up"></FORM>
2. <FORM><INPUT NAME="UpButton" TYPE="BUTTON" VALUE="Up" onclick="up.php" ></FORM>请各位大侠指教。小弟先谢过。

解决方案 »

  1.   

    <FORM><INPUT NAME="UpButton" TYPE="BUTTON" VALUE="Up" onclick="up.php" ></FORM>
    这个是错的吧  没见过  触发一个js来submit还差不多
      

  2.   

    你第一条就可以
    up.php写点东西吧,否则是显示一片空白
      

  3.   

    那就是点击完第一条的按钮,网页就会转向到up.php?如果不让他转向该怎么做?
      

  4.   

    很明显用 AJAX 最简单了前台不刷新,跳转而执行后台功能。AJAX
      

  5.   

    1. <FORM action="up.php" method="post"><input type=submit name="test" value="Up"></FORM>
    這種就OK了啊...
      

  6.   

    不会ajax,能否原网页调用?
    index.php:
    <?phpif($dongzuo == "UP")   {$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "UP\n");fclose($file); print("up");}else{     if($dongzuo == "DOWN"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "DOWN\n");fclose($file);print("down"); }     else{          if($dongzuo == "LEFT"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "LEFT\n");fclose($file);print("left"); }          elseif($dongzuo == "RIGHT"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "RIGHT\n");fclose($file); print("right");}         }    }?>
    <html><head><title>Test</title></head><body><FORM action="test1.php" method="post"><INPUT type="submit" name="dongzuo" value="UP"> <INPUT type="submit" name="dongzuo" value="DOWN"><INPUT type="submit" name="dongzuo" value="LEFT"><INPUT type="submit" name="dongzuo" value="RIGHT">
    </FORM></body></html>
      

  7.   

    能否原网页调用?
    index.php:
    <?phpif($dongzuo == "UP")   {$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "UP\n");fclose($file); print("up");}else{     if($dongzuo == "DOWN"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "DOWN\n");fclose($file);print("down"); }     else{          if($dongzuo == "LEFT"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "LEFT\n");fclose($file);print("left"); }          elseif($dongzuo == "RIGHT"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "RIGHT\n");fclose($file); print("right");}         }    }?>
    <html><head><title>Test</title></head><body><FORM action="test1.php" method="post"><INPUT type="submit" name="dongzuo" value="UP"> <INPUT type="submit" name="dongzuo" value="DOWN"><INPUT type="submit" name="dongzuo" value="LEFT"><INPUT type="submit" name="dongzuo" value="RIGHT">
    </FORM></body></html>
    可是没有反应………
      

  8.   

    写在一个页面也可以  不过是会刷新的  
    你所谓的没反应  是不是压根就没搭建web服务器
      

  9.   

    有搭建服务器,环境是ubuntu8.04 apache2 php5,通过进入http://localhost:8081/info.php,得到php的信息表格知道已经搭建了服务器,可以解析php。是不是代码里有错误?
    我说的没反应意思有两个:
    1.我在每个按钮动作后都加了print("down"); 这样的语句,期望在刷新后的页面显示出来,以说明前面的写文件已经运行过。但是却没有这种文字。
    2.本地文件test.txt的内容也没有改变。
    是不是代码错误了?可无从调试
      

  10.   

    补充一下,info.php内容就是<?php phpinfo();?>。另外,把PHP代码放到<BODY>里,也没用。
    <html><head><title>Test2</title></head><body>
    <?phpif($dongzuo == "UP")   {$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "UP\n");fclose($file);print("up");}else{     if($dongzuo == "DOWN"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "DOWN\n");fclose($file);print("down"); }     else{          if($dongzuo == "LEFT"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "LEFT\n");fclose($file);print("left"); }          elseif($dongzuo == "RIGHT"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "RIGHT\n");fclose($file); print("right");}         }    }?><FORM action="test2.php" method="post"><INPUT type="submit" name="dongzuo" value="UP"> <INPUT type="submit" name="dongzuo" value="DOWN"><INPUT type="submit" name="dongzuo" value="LEFT"><INPUT type="submit" name="dongzuo" value="RIGHT">
    </FORM></body></html>
      

  11.   

    <html><head><title>Test2</title></head><body>
    <?php
    $dongzuo = $_POST['dongzuo'];
    if($dongzuo == "UP")  {$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "UP\n");fclose($file);print("up");}else{  if($dongzuo == "DOWN"){$filename = "Test.txt";$file = fopen($filename, "w+");fwrite($file, "DOWN\n");fclose($file);print("down"); }
    .....
      

  12.   


    OH yeah~!Thank you very much~!!!!!!!!!!!
      

  13.   

    借助jquery用ajax吧
    <?php
    if (!empty($_POST['dongzuo'])) {
    switch (strtoupper($_POST['dongzuo'])) {
    case 'UP':
    case 'DOWN':
    case 'LEFT':
    case 'RIGHT':
    $filename = "Test.txt";
    $file = fopen($filename, "w+");
    fwrite($file, strtoupper($_POST['dongzuo'])."\n");
    fclose($file);
    print(strtolower($_POST['dongzuo']));
    break;
    default:
    print('error');
    break;
    }
    exit;
    }
    ?>
    <html>
    <head>
    <title>Test</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
    </head>
    <body>
    <FORM action="?" method="post">
    <INPUT type="submit" name="dongzuo" value="UP">
    <INPUT type="submit" name="dongzuo" value="DOWN">
    <INPUT type="submit" name="dongzuo" value="LEFT">
    <INPUT type="submit" name="dongzuo" value="RIGHT">
    </FORM>
    <script type="text/javascript">
    $('input[name=dongzuo]').click(function(){
    $.post('?',{dongzuo:$(this).val()},function(data){alert(data);});
    return false;
    });
    </script>
    </body>
    </html>