建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

html5写的网站和后台php语言该如何对接?(HTML5技术网)

GG网络技术分享 2025-03-18 16:10 0


不管是静态页面还是动态页面,最终呈现给用户的都是由HTML、CSS、JS等组成的,浏览器能解析的内容。

HTML模版与PHP的结合方式有三种:

  1. 混合编程
  2. 使用模版引擎
  3. 前后端分离

混合编程

混合编程就是一个文件里既有HTML代码,也有PHP代码,这是PHP早期的开发模式。

使用模版引擎

由于在混合编程模式下,PHP文件里既有HTML代码,也有PHP代码,极不方便前端人员和后端人调试。这时候就有人提出可以模板引擎将模板文件与PHP代码分开开发,前端人员需要在模版文件里使用数据时就先用一些特殊的标签位代替,等页面渲染时模板引擎再把这些标签位使用PHP代码代替。PHP里比较常用的模版引擎有Smarty,QuickSkin……一些主流的框架也会内置自己的模版引擎。

前后端分离

模板引擎的使用虽然一定程度上将模板文件和PHP代码分离开来,但模版引擎里一些特殊的标签,可能有时候还是得需要后端人员操作,这样就导致前端人员和后端人员之间还是会有一些牵制,从而影响开发效率。

那如何排除前后端开发的相互干扰呢?答案:前后端分离。

前后端分离是将前端开发和后端开发隔离开来,前端开发人员只负责HTML、JS、CSS,后端人员只负责PHP,两者的交互只会通过接口调用的方式,如使用Ajax。前后端分离真正做到了前后端人员的相互分离,互不打扰,但相对而言也对前端人员产生了挑战,因为前端人员现在要知道如何处理数据。

随着现在终端越来越多,前后端分离将是一个必然的趋势。

#####

前端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内存储了访问该测试函数的次数,即网站访问计数器。



标签:

提交需求或反馈

Demand feedback