PHP+JavaScript+HTML变量之间赋值及传递
【摘要】 本文是最近做WAMP网站的学习知识,这做这个网站过程中需要通过新闻通告的超链接显示相应的具体内容,所以就涉及到一些相关变量赋值传递的内容,包括:HTML超链接传递值通过JavaScript显示、JavaScript变量转换成PHP变量、超链接实现传递给PHP连接数据库(重点)、PHP输出JavaScript内容。
本文是最近做WAMP网站的学习知识,这做这个网站过程中需要通过新闻通告的超链接显示相应的具体内容,所以就涉及到一些相关变量赋值传递的内容,包括:HTML超链接传递值通过JavaScript显示、JavaScript变量转换成PHP变量、超链接实现传递给PHP连接数据库(重点)、PHP输出JavaScript内容。
一. HTML超链接传递值
首先讲述通过HTML超链接<A href=></A>实现跳转,再通过JavaScript实现获取传递的值。代码如下:其中testA.php是超链接,testB.php是获取的传递值。
二. JavaScript变量转换PHP值
此时已经通过获取了var idparams[1] = 10001,但是我想实现的效果是通过id数据库主键,获取数据库的内容,而数据库的那部分代码如下:
$result=$hgi->doquery('2',"select * from Course_News where CN_Nid='".$id."';");
所以只需要把$id赋值为JavaScript的var型变量即可。引用 mingfish2 发表的贴“怎么将js变量赋值给php?”
1.通过Ajax实现js变量赋值给PHP
此处我更想分享的是它的一些原理知识:
JS变量赋值给PHP时,你需要知道JS是客户端语言可以直接在浏览器上运行,PHP是服务器语言在后台运行,所以JS变量不能直接赋值给PHP。那么怎么样知道什么是服务器语言什么是客户端语言呢?其实查看网页的源代码我们会发现可以直接查看到JS的源代码而PHP的不能查看源代码只能把结果输出到页面上。为了实现这效果,这里使用ajax,定义一个JS变量,将变量赋值给data,再将data的参数赋值给php变量。
而PHP能赋值给JS是因为PHP是在服务器端被解析。服务器端不会解析JS代码,JS代码和HTML代码在服务器端都是原样输出的。只有标注php能识别的位置,PHP才会去进行解析并执行。而JS则是到了客户端才被客户的浏览器解析。
如果需要把JS的变量“赋值”给PHP,这就涉及交互了。就是所谓的提交,因为但凡你在浏览器看到的页面,无论是PHP,ASP,JSP等等,都是HTML文档,本地需要修改服务器端的数据,当然是要跟服务器进行交互。而进行交互的中间人就是JS,JS搭起客户与服务器交互的桥梁。
2.通过表单GET或POST方法获取值
(参考: )
通过Javascript将客户端要传递的数据先交给表单中的一个隐匿的标签中,然后以提交表单的形式,PPHP通过POST方法获取该数据。
三. 超链接实现传递给PHP连接数据库
其实上面“一二”讲述的就是如何实现过程如下:
HTML=>超链接=>JavaScript=>PHP=>数据库
由于Ajax没有实现,所以我后来发现一个更简单的方法,就是在超链接设置参数的时候,其实就可以直接获取相关参数,并不需要JavaScript去处理字符串获取相应的值。代码如下:
//testA.php设置超链接
<A href="main_right_yk4-1-content.php?newid=<?php echo $id; ?>">超链接</A>
//testB.php中获取数据库内容
$hgi=new HttpPostInf();
$result=$hgi->doquery('2',"select * from Course_News whereCN_Nid='".$_GET['newid']."';");
//解析json
$dj=json_decode($result,true);
后面的文章我会讲述PHP和数据库的相关知识,此处你只需要知道如何获取连接即可。由于项目是我和另一个同学完成,他把后台数据库操作都用PHP类封装长好了(采用新浪SAE),所以我前端调用非常方便(采用apache)。该部分可以实现的初步效果如下图所示:
四. PHP输出JavaScript内容
该部分比较简单,将PHP变量放在HTML的隐匿类型的标签中,然后Javascript通过document.getElementById("").value来获取标签的值,即可得到PHP的变量值。也可以直接进行php与js变量的赋值。代码如下:
该代码输出的结果为30。另一种代码如下:
最后希望文章对大家有所帮助,下一篇想写写WAMP关于数据库方面的知识(Window+Apache+MySQL+PHP)。
该代码输出的结果为30。另一种代码如下:
最后希望文章对大家有所帮助,下一篇想写写WAMP关于数据库方面的知识(Window+Apache+MySQL+PHP)。
感恩能与大家在华为云遇见!
希望能与大家一起在华为云社区共同成长,原文地址:https://blog.csdn.net/Eastmount/article/details/43888009
(By:Eastmount 2022-08-31 夜于贵阳 http://blog.csdn.net/eastmount/ )
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)