小弟我正在做毕设,现在想要实现在一个页面上点击一个按钮,让服务器端运行一个.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>请各位大侠指教。小弟先谢过。
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>请各位大侠指教。小弟先谢过。
这个是错的吧 没见过 触发一个js来submit还差不多
up.php写点东西吧,否则是显示一片空白
這種就OK了啊...
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>
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>
可是没有反应………
你所谓的没反应 是不是压根就没搭建web服务器
我说的没反应意思有两个:
1.我在每个按钮动作后都加了print("down"); 这样的语句,期望在刷新后的页面显示出来,以说明前面的写文件已经运行过。但是却没有这种文字。
2.本地文件test.txt的内容也没有改变。
是不是代码错误了?可无从调试
<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>
<?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"); }
.....
OH yeah~!Thank you very much~!!!!!!!!!!!
<?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>