如何使用按钮应用PHP功能

时间:2011-08-15 21:01:18

标签: php

我意识到我写的脚本试图同时使用javascript和php,但这不起作用。谁能告诉我如何实现我想做的事情?我想要做的是有一个按钮,当它被点击时,它将写入服务器上的文件。这里;我写的代码:

<html>
<head>
<?php
function change_html(){
     $myFile = "testFile.html";
     $fh = fopen($myFile, 'w') or die("can't open file");
     $stringData = "Hello\n";
     fwrite($fh, $stringData);
     $stringData = "World!\n";
     fwrite($fh, $stringData);
     fclose($fh);
     }
?>
</head>
<body>
<input type="button" onclick="change_html()" Value="Continue">
</body>
</html>

提前致谢!!

4 个答案:

答案 0 :(得分:1)

不能那样做。 PHP是服务器端,JavaScript是客户端。您有两种选择:

  1. 在客户端上使用JS来触发一个AJAX调用,该调用会访问运行脚本的页面。

  2. 让按钮提交运行脚本的表单。

答案 1 :(得分:1)

您必须了解PHP和Javascript实际上是什么:服务器端和客户端语言。 PHP仅适用于服务器,只能通过HTTP请求与客户端通信(因此浏览器或Ajax)。另一方面,Javascript是一种客户端语言,只能在浏览器窗口中运行,这意味着它只能修改页面。但是,它可以通过Ajax请求与服务器通信。

您应该阅读更多关于实际上是什么 PHP和Javascript的内容。更不用说您的HTML代码绝对不会验证。

当你理解你实际在做什么时,你应该为修改文件的PHP脚本创建一个Ajax请求,或者你应该在表单中添加一个输入按钮(这实际上是必需的)并将表单指向PHP修改文件的脚本。我认为后者是更好的方式。

答案 2 :(得分:1)

<html>
<head>
<?php
if(isset($_GET['change_html'])) change_html();

function change_html(){
     $myFile = "testFile.html";
     $fh = fopen($myFile, 'w') or die("can't open file");
     $stringData = "Hello\n";
     fwrite($fh, $stringData);
     $stringData = "World!\n";
     fwrite($fh, $stringData);
     fclose($fh);
     }
?>
</head>
<body>
<form action="?change_html=true" method="GET">
<input type="submit" Value="Continue">
</form>
</body>
</html>

答案 3 :(得分:0)

如果您想在PHP中执行此操作,那么您可以使用按钮提交表单,并指向它所指向的PHP脚本。

<form action="writefile.php" method="post">
<input type="submit" value="Continue" />
</form>

-

<?php
//writefile.php
file_put_contents("testFile.html", "Hello\nWorld!\n");
?>

如果您愿意,该脚本可以重定向回表单:

<?php
//writefile.php
file_put_contents("testFile.html", "Hello\nWorld!\n");
header("Location: yourpage.php");
?>