Products
GG网络技术分享 2025-03-18 16:14 0
前端html+js一般是不能直接调用后端php中的函数的并返回结果的。
菜农在学习网站编程后,就被此事困扰很长时间。
因为前端的js可以通过ajax技术带参数访问后端的php过程,并返回结果。
那么是否js也能带参数访问任意php函数并返回结果?
菜农在网友的指点下完成此设想并测试通过!
其核心思想是通过js的ajax调用php的call_user_func_array()函数,以实现任意php函数的调用。
特别注意:
为了网站的安全和防止黑客的攻击,特别设立了$funclst数组,js只能调用$funclst数组内的特定函数。
php核心代码为:
$funclst = array(\"f0\", \"f1\", \"f2\", \"a1\", \"a2\", \"a3\", \"a4\", \"HotCount\");
$func = $_REQUEST[\"function\"];
if(in_array($func,$funclst) && function_exists($func)){//只能调用例程函数
if(isset($_REQUEST[\"age\"]) && strpos(strtolower($_REQUEST[\"age\"]), \"http://\")){
echo \"函数$func()的参数中包含非法字符!!!\";
} else {
$age =isset($_REQUEST[\"age\"])? explode(\",\",$_REQUEST[\"age\"]) : array();//参数以\",\"分割
echo call_user_func_array($func,$age);
}
}else{
echo \"函数$func()不存在!!!\";
}
javascript通过Ajax直接调用任意PHP函数多参数例程
菜农在网友的指点下完成此例程,非常感谢!!!
如图所示,前三个分别是html,php和csv,最后一张图是网站测试http://www.hotpage.com.cn/phptest/HotFunction.html运行的截图。
csv内存储了访问该测试函数的次数,即网站访问计数器。
举例说明JS调用PHP和PHP调用JS的方法
在学习任何一门编程语言,我们都会听到调用这个词,那么,在javascript中是如何调用php的呢?在php中也可以调用js吗?下面就让我们一起来看看吧。
1、JS方式调用PHP文件并取得PHP中的值
举一个简单的例子来说明:
如在页面test_json1中用下面这句调用:
<script type=\"text/javascript\" src=\"http://callmewhy.sinaapp.com/index.php/test/testjson2\"> </script> <script type=\"text/javascript\" > alert(jstext); </script> |
在test_json2.php中有这样一段PHP代码:
<?php $php_test=\'I come from PHP!\'; echo \"var test=\'$php_test\';\"; echo \"var jstext=\".\"\'$php_test\';\"; ?> |
当执行test_json1.php文件时,就会调用test_json2.php文件,并将b.php文件的输出作为JS语句来执行,
所以此处会弹出一个提示框,内容为JS变量jstext的值,也就是在PHP文件中赋给jstext的值.
小结:在HTML里用JS 调用文件的方式调PHP文件,则PHP文件的输出将会被调用页作为JS的代码来用.
2、PHP调用JS中的值
在test_json3.php页面中有这样一段代码:
<script type=\"text/javascript\" > var data=\"call_me_why\"; </script> <? echo \"<script type=text/javascript>document.write(data)</script>\"; ?> |
3、php调用js中的方法(函数)
和第二种情况基本类似,利用echo脚本来实现JS调用
<script type=\"text/javascript\"> function test() { var t1=3; t1 = t1+2; alert(t1); //return t1; } </script> <?php echo \"<script type=\'text/javascript\'>test();</script>\"; ?> |
4、JS调用PHP变量
(1)
<?php $userId=100; ?> <script> var userId; userId=document.getElementById(\"userId\").value; alert(userId); </script> <input type=\"text\" name=\"userId\" id=\"userId\" value=\"<?php echo $userId; ?>\"> |
(2)
<?php $url = \'CALL_ME_WHY\'; //定义变量 ?> <script type=\"text/javascript\"> //js调用php变量 var ds =\"<?php echo $url?>\" ; //赋值 alert(ds); //输出效果 </script> |
5 、JS调用PHP函数
<script language=\"JavaScript\"> var Y=<?php echo date(\'Y\')?>,M=<?php echo date(\'n\')?>,D=<?php echo date(\'j\')?>; alert(Y); alert(M); alert(D); </script> |
以上就是举例说明JS调用PHP和PHP调用JS的方法的详细内容,更多请关注网站的其它相关文章!
Demand feedback