在js中定义一个变量,在PHP中怎么获取该变量?(在一个页面)
回复内容:
在js中定义一个变量,在PHP中怎么获取该变量?(在一个页面)
JS是前端,PHP是后端,后端PHP要获取前端JS的变量,那前端JS可以通过AJAX传输数据给后端PHP.比如登录页面login.php:
<code><?php if (!defined('APP_ROOT')) define('APP_ROOT', './'); require APP_ROOT.'include/common.php'; // 加载functions.php,验证cookie等 //后端PHP使用if处理各种前端JS发出的"事件/操作/请求",处理完成exit退出 if(isset($_GET['action']) && $_GET['action']==='login') { if(isset($_POST['name']) && isset($_POST['pass']) && $_POST['name']==='ele' && $_POST['pass']===123) { $ret['num'] = 0; $ret['txt'] = '登录成功'; echo json_encode($ret); exit(); } else { $ret['num'] = 1; $ret['txt'] = '登录失败'; echo json_encode($ret); exit(); } } ?> <?php //下面的 "header.php + 登录表单 + footer.php" 可以考虑写一个render函数加载,从而分离界面和上面的逻辑 require 'header.php'; ?> <?php //下面显示登录表单(PHP+HTML+AJAX) ?> <script src="<?php%20echo%20%24app%5B'theme_dir'%5D;%20?>/js/jquery.js"></script> <script> //给登录按钮绑定点击事件 $('.con').on('click', '.login', function(){ $(this).text('正在登录'); var context = this; $.ajax( url: 'login.php?action=login', type: 'POST', //这里就是JS传输给PHP的变量,可以通过DOM获取 data: 'name='+$('.name').val()+'&pass='+$('.pass').val(), success: function(data){ var obj = $.parseJSON(data); console.log(obj); //JS根据PHP返回值进行相应操作 if(obj.num==0) { $(context).text(obj.txt); setTimeout(function(){ //1秒后跳转到首页 window.location.href = '/'; }, 1000); } else { $(context).text(obj.txt); setTimeout(function(){ $(context).text('登录'); }, 1000); } } ); }); </script> <?php require 'footer.php'; ?></code>
js中通过post提交到后台:
<code>var data = { 'param' : xxx }; $.post(url,data,callback)</code>
php后台接受数据(此处基于thinkPHP):
<code>$data = I('post.param')</code>
前后台数据通讯用get或post就行了,js中的直接走ajax
$__POST[]
要么AJAX,要么就PHP在页面上输出变量值,JS再去获取
js 代码 ajax 推送到 test.php文件
<code>var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { //此处处理 php 处理后返回的结果 alert(xmlhttp.responseText); } else{ } } xmlhttp.open("GET","test.php?id=10",true); xmlhttp.send(); </code>
php 文件
<code>if(isset($_GET['id'])){ echo '前台js推送过来的变量为:'.$_GET['id']; }</code>
如果是提交表单的话,好吧 ,其实大部分是将js里面的数据绑定在一个html的input中,将这个input隐藏起来,然后提交表单的时候就可以一起提交过去了~
好像大家都没有理解楼主的意思,据我所知,在不提交的情况下是实现不了吧,不过反过来js可以获取PHP输出的值。

DependencyInjection(DI)inPHPenhancescodeflexibilityandtestabilitybydecouplingdependencycreationfromusage.ToimplementDIeffectively:1)UseDIcontainersjudiciouslytoavoidover-engineering.2)Avoidconstructoroverloadbylimitingdependenciestothreeorfour.3)Adhe

到Improveyourphpwebsite的实力,UsEthestertate:1)emplastOpCodeCachingWithOpcachetCachetOspeedUpScriptInterpretation.2)优化的atabasequesquesquesquelies berselectingOnlynlynnellynnessaryfields.3)usecachingsystemssslikeremememememcachedisemcachedtoredtoredtoredsatabaseloadch.4)

是的,itispossibletosendMassemailswithp.1)uselibrarieslikeLikePhpMailerorSwiftMailerForeffitedEmailSending.2)enasledeLaysBetemailStoavoidSpamflagssspamflags.3)sylectynamicContentToimpovereveragement.4)

DependencyInjection(DI)inPHPisadesignpatternthatachievesInversionofControl(IoC)byallowingdependenciestobeinjectedintoclasses,enhancingmodularity,testability,andflexibility.DIdecouplesclassesfromspecificimplementations,makingcodemoremanageableandadapt

使用PHP发送电子邮件的最佳方法包括:1.使用PHP的mail()函数进行基本发送;2.使用PHPMailer库发送更复杂的HTML邮件;3.使用SendGrid等事务性邮件服务提高可靠性和分析能力。通过这些方法,可以确保邮件不仅到达收件箱,还能吸引收件人。

计算PHP多维数组的元素总数可以使用递归或迭代方法。1.递归方法通过遍历数组并递归处理嵌套数组来计数。2.迭代方法使用栈来模拟递归,避免深度问题。3.array_walk_recursive函数也能实现,但需手动计数。

在PHP中,do-while循环的特点是保证循环体至少执行一次,然后再根据条件决定是否继续循环。1)它在条件检查之前执行循环体,适合需要确保操作至少执行一次的场景,如用户输入验证和菜单系统。2)然而,do-while循环的语法可能导致新手困惑,且可能增加不必要的性能开销。

在PHP中高效地哈希字符串可以使用以下方法:1.使用md5函数进行快速哈希,但不适合密码存储。2.使用sha256函数提高安全性。3.使用password_hash函数处理密码,提供最高安全性和便捷性。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。