Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php代码在被javascript调用之前工作_Php_Javascript_Html_Function - Fatal编程技术网

php代码在被javascript调用之前工作

php代码在被javascript调用之前工作,php,javascript,html,function,Php,Javascript,Html,Function,我有一个简单的php代码,我把它嵌入了我的html代码中。我希望代码仅在单击按钮时运行。但是当页面自动加载时,调用该函数。代码将清楚地解释您 <meta http-equiv="X-UA-Compatible" content="IE=9"/> <script> function exportcsv() { <?php exportcsv(); ?>; } </script> <?php function exportcsv() {

我有一个简单的php代码,我把它嵌入了我的html代码中。我希望代码仅在单击按钮时运行。但是当页面自动加载时,调用该函数。代码将清楚地解释您

<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<script>
function exportcsv()
{
<?php exportcsv(); ?>;
}
</script>
<?php 
 function exportcsv()
 {
 $File = "YourFile.txt"; 
 $Handle = fopen($File, 'w');
 $Data = "Visual BI Solutions\n"; 
 fwrite($Handle, $Data); 
 $Data = "ajay,praveen,musthafa,sanjay"; 
 fwrite($Handle, $Data); 
 fclose($Handle); 
 }
 ?>
 <button onClick="exporttxt()">Export</button>

函数exportcsv()
{
;
}
出口

如何使其仅在单击按钮时运行。??

您可以使用AJAX获取所需内容。。 PHP函数在浏览器加载页面之前运行,因为其服务器端和任何用户操作都是用户端,您可以使用javascript ajax调用添加所需内容

以下是jQuery ajax。。(您需要添加jquery库以便使用它)。(在html头部有一个带有jquery库源的脚本标记)

当用户单击按钮并在浏览器中加载响应时,它将在浏览器中发出请求。例如

<script>
$(document).ready(function(){
    $("#buttonID").click(function(){
        $.ajax({
           url: "script.php",
           type: "POST",
           data: {action : 'exportcsv'},
           dataType: "text",
           success: function(responde){
               alert(responde); /*This will show to user as message the responde*/
           }
        });
    });
});
</script>

您可以在主php文件中设置它,但它必须位于页面的第一行,以便在它之前没有其他输出。exit()将阻止所有下一个要处理的php代码。

如果不想使用AJAX,只需将按钮张贴到同一页面即可。您将获得页面刷新,但该功能在按下按钮之前不会启动

<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<?php 
 function exportcsv()
 {  
 $File = "YourFile.txt"; 
 $Handle = fopen($File, 'w');
 $Data = "Visual BI Solutions\n"; 
 fwrite($Handle, $Data); 
 $Data = "ajay,praveen,musthafa,sanjay"; 
 fwrite($Handle, $Data); 
 fclose($Handle); 
 }
 if(isset($_POST['export'])) exportcsv();
 ?>
 <form method="post">
 <input type="submit" name="export" value="Export" />
 </form>


PHP在服务器端运行,所以它在将页面输出到客户端之前/时运行。如果您需要运行PHP代码来响应按钮单击(或任何客户端事件),请使用AJAX。还有其他不使用AJAX的吗?@praveensingh:在这种情况下,您需要将整个页面提交给服务器,服务器将刷新您的页面。使用AJAX有什么问题吗?我不知道AJAX,我不想有任何紧凑性问题。你能给我一个例子或者用ajax修改代码吗。提前谢谢,JAX教程非常简单。。。让谷歌成为你的朋友
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<?php 
 function exportcsv()
 {  
 $File = "YourFile.txt"; 
 $Handle = fopen($File, 'w');
 $Data = "Visual BI Solutions\n"; 
 fwrite($Handle, $Data); 
 $Data = "ajay,praveen,musthafa,sanjay"; 
 fwrite($Handle, $Data); 
 fclose($Handle); 
 }
 if(isset($_POST['export'])) exportcsv();
 ?>
 <form method="post">
 <input type="submit" name="export" value="Export" />
 </form>