首页 开发编程 正文

php怎么进ajax

原则上前端html+js是不能直接调用后端php中的函数的并返回结果的。因为前端的js可以通过ajax技术带参数访问后端的php过程,那么是否js也能带参数访问任意php函数并返回结果?...

php怎么进ajax,js如何直接调用后端php函数?

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

html5如何将表单数据提交到数据库表的指定空格?

为了这个问题我专门写了一篇文章,请直接看文:

昨天在不经意的浏览网页,突然收到了一个问题回答的邀请,看了这个问题我不仅思绪万千,其实亮点不在于这个问题,这个问题本身没没有什么特殊,而这个问题中的一些东西让我产生了一系列联想,这个问题是这么问的:“html5如何将表单数据提交到数据库表的指定空格?”。

如果放在几年前去看这个问题,html/js怎么可能操作数据库呀,这就是表单提交数据到数据库的过程,你的回答则会是,这中间是需要经过一系列过程的,比如同过form表单或者ajax将数据提交给web服务器,如果是java了就一般是jboss服务器或者tomcat之类的,如果是phpweb服务的话,一般是nginx或者apache服务器,然后web服务器接到请求响应之后将再交给具体的语言进行解析,然后在接下来这些计算机语言将提交过来的字段做数据校验处理后,会将字段与数据库字段做一一映射。

然后计算机语言通过数据库提供的一些协议,与数据库进行连接,如jdbc协议,odbc协议,连上之后通过对数据库的操作把数据存入数据库,然后计算机语言(php或者java等)把处理结果输出交给web服务器,web服务器再把这些输出返回给客户端html页面,到此为止实现了一个请求及相应的整个过程,而这个过程中涉及的角色也比较多,如前端页面,前端js,http协议,web服务器,后端服务计算机语言,数据库协议等,这么多东西去实现了一次页面数据的请求交互。

html5现在虽然很先进了,但是他毕竟是前端语言(这里他说的html5我想也有说js的意思),如果用前端语言直接去访问数据库的话肯定是不安全的呀,前端的js代码是在客户端里能看到的,谁可能那么傻将数据库连接地址账号密码暴露在客户端,如果前端的语言设计成直接连数据库,我想那么设计者的思想肯定有问题了,也许你会反驳,我明明看到网上有写着用js连接数据库的方法呀,不信你看下图内容。

这段代码看着的确是数js连接数据库了,那这么就有几种可能,第一这个js不是你理解的js,是后端的一种语言,比如nodejs是一种后端的js语言,那么它连接数据库也是没什么问题的呀,这种情况是不会暴露数据库地址的,第二种情况,这里的数据库不是我们传统意义上的数据库,不存在什么安全性问题,如果真是前端js就能连接数据库了,那么这样的技术你敢用么?也就是说不存在后端开发了,所有业务逻辑都放在前端,然后用js写业务逻辑,js去连接数据库,那么这样的产品还有什么安全可言,代码岂不是都公布与众了?虽然能用js混淆压缩,但是还是可以反解压不是么?只是成本问题而已。

当然,话有说回来,html5技术的确牛了许多,他实现了以前好多不能实现的东西,比如以前网站的验证码只是一张图片,图片上写一个数字,然后就可以防止一些不法用户的暴力请求,可是html5的技术诞生之后,这些简单的图片验证码已经防止不了,现在市面上的网上已经看不到这种验证码了吧,都已经改成手动滑动,或者汉字顺序点击,或者各种找同类型的等等花样的验证码,12306网站应该是在这方面开了先河吧,或者有的网站直接用手机验证码作为验证码了,这个主要是短信费用的成本。

另外,市面上好多app并不一定是原生的app, 也就是用的不一定是android技术或者ios技术,而是用的html5的技术,可见html5的出现使前端地位在技术领域内提高了不少,另外近来比较流行的小程序也是对html5技术的一些封装,可见未来html5的作用将会越来越大。

即便如此,不论html5技术发展到什么地步,但是一些方向性问题是不会变的,比如,用前端语言直接访问数据库这个问题是不太可能的,除非以后有一种非常强的不可pj加密技术,那样的话有可能会有这么一天。另外我想说的在计算机世界里看着很炫酷的东西,用到的技术都是很朴实的,只不过计算机快速运算加上程序员们逻辑的智慧才让我们看到了这华丽的一切,就比如说我们看到的动画,一个白色小球在自由落体运动,你真以为是这个小球在向下运动么?其实不是的,程序实现的思路是先画一张背景图,然后再背景图上画一个白色的小球,然后再画一张背景图把原来的小球和背景给覆盖掉,然后再画一个小球在新的背景上(这次小球的位置比上次小球的位置略略向下一点),就这样重复的绘制,在用户的视觉里看到的小球在向下运动,其实是程序在一张张的绘制图片而已,这并没什么高深的,其实任何技术的本质上都是很质朴的,包括你看到的一些黑科技,你觉得炫酷是因为你不了解原理,你一旦了解了原理你就会发现原来也不过如此啊。

以上所有图片均来之互联网

大家好,我是“上世是朵花”。如果你有什么好的看法或者观点可以在评论区展现你的才华,互动交流,如果想进一步了解我,那就关注我吧!

php文件计算输出总金额怎么做?

1、HTML代码写在PHP文件中,直接输出2、用ajax

php是什么教材?

《计算机类主干课程系列教材 :PHP程序设计与开发技术》是2014年科学出版社出版的图书,作者是朱勇。

《计算机类主干课程系列教材:PHP程序设计与开发技术》集合了PHP工作原理、程序语法、编程技术及综合应用开发等方面知识,是一本适合教学、培训与自学的综合参考书。

其中第1章“PHP概述”讲述PHP入门知识和Web工作原理。第2~6章内容包含PHP基本语法。第7章为PHP面向对象编程方法。第8、9章介绍PHP数据库操作。第10章说明PHP与JavaScript脚本语言的融合使用。第11章“表单交互”介绍用户通过页面提交信息给服务器端程序处理的方法。在第12章中通过AJAx技术实现客户端和服务器端的数据交互,用jQuery函数改善用户体验与编程模式。第13章“会话管理”介绍cookie和session两种基本会话方式。第14章阐述常用的网络协议与通信方式。第15章介绍3种PHP编程框架。作为总结,第16章给出3个常用网站开发流程。

《计算机类主干课程系列教材:PHP程序设计与开发技术》基础语法条理清晰、循序渐进,实例精心设计、深入浅出,适合高等院校信息专业的本、专科生学习,也可作为信息技术网络编程技术人员的参考用书。

ajax于php交互?

会jquery吗,可以先从jquery的ajax入手,会比较简单。ajax写在js脚本里,一般是获取表单的数据(value)然后传到php脚本进行处理,再接受返回的数据。jquery的写法是这样的:js脚本

type是传值的方式,有get和post,php脚本里取值语句也要用对应的方式。url后面的参数是将数据传递到你想要的php脚本路径,这里是相对路径。data是你要传递的数据,一般从表单中娶过来后写成json的形式传递。 datatype是获取数据的格式,success是传递成功后的反馈或者使用接收回来的数据,这里的data参数是php处理后的(你想要的)数据,php那边对应的是echo后面的东西。php脚本:index.php前面两句是取传过来的数据,分别对应了ajax里data的数值,第三句是一个简单的数据处理。最后php脚本的输出值就是echo语句后面的内容,并返回给js脚本里success的function的参数data。

本文转载自互联网,如有侵权,联系删除