私の ajax コード
$.post('{:U("Safeinfo/txpassadd")}', $("#txadd").serialize(), function(data) { alert("ok"); ...
PHP コード:
tip("100", '<font color="red">交易密码不能与登录密码一样!</font>');
function tip($code, $msg) { $arr['code'] = iconv('GB2312', 'UTF-8', $code); $arr['msg'] = iconv('GB2312', 'UTF-8', $msg); //die(json_encode($arr)); die(var_json_encode($arr)); //cjq}function var_json_encode($var){ $_var = var_urlencode($var); $_str = json_encode($_var); return urldecode($_str); }
結果ページにalert("ok") がポップアップ表示されない場合、ajax が戻っていないことを意味しますか?
これを次のように変更しても機能しません:
function tip($code, $msg) { $arr['code'] = iconv('GB2312', 'UTF-8', $code); $arr['msg'] = iconv('GB2312', 'UTF-8', $msg); die(json_encode($arr,JSON_UNESCAPED_UNICODE)); //cjq}
これはなぜですか?
ディスカッションに返信 (解決策)
これも機能しません: (
function tip($code, $msg) { $arr['code'] = $code; $arr['msg'] = $msg; die(json_encode($arr,JSON_UNESCAPED_UNICODE)); //cjq}
$_var = var_urlencode($var);
この関数はどこで定義されていますか?
$_var = var _urlencode($ var);
この関数はどこで定義されていますか?
utf-8 でエンコードされた出力 {"code":"100","msg":"トランザクションパスワードはログインパスワードと同じにすることはできません
他の側面で問題があるはずです
ブラウザでソースファイルを確認してください
{"code":" 100"," msg":"トランザクション パスワードはログイン パスワードと同じであってはなりません! "}
別のパスワードにする必要があります。
ブラウザでソース ファイルを確認してください。見てください
/** * 对变量或者数据进行 urlencode 编码, 使得在进行 json_encode 的时候进行编码的不是中文, 防 止 json_encode 失败 * @access private * @param $var * @return array */ function var_urlencode($var) { if (empty ( $var )) { return false; } if (is_array ( $var )) { foreach ( $var as $k => $v ) { if (is_scalar ( $v )) {//if 用来处理不是数组的情况 $var [$k] = urlencode ( $v ); } else {//else 用来处理数组 $var [$k] = var_urlencode ( $v ); } } } else {//用来处理数组 $var = urlencode ( $var ); } return $var; }
現在のページには、safeinfo-jiaoyimima.html のコンテンツが表示されます。
safeinfo-jiaoyimima.html のコンテンツは次のとおりです:
...<div class="aqxx_con"> <div class="aqxx_header_con"> <ul> <li class="aqxx_neixing">交易密码</li> <li class="aqxx_zhuangtai">为了您的账户安全,提现需要输入交易密码,请确保与登录密码不同。</li> <li class="aqxx_last"> <a href="javascript:void(0);" id="txshow1" class="jrb_but03">设置</a><a href="javascript:void(0);" id="txhide1" style="display:none" class="jrb_but03">取消设置</a> </li> </ul> </div> <div class="aqxx_con_xq" id="jiaoyimima02" style="display:none"><iframe src="/safeinfo-jiaoyimima.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> <div class="aqxx_con_xq" id="jiaoyimima03" style="display:none"><iframe src="/safeinfo-jiaoyimima03.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="270px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> <div class="aqxx_con_xq" id="jiaoyimima04" style="display:none"><iframe src="/safeinfo-jiaoyimima04.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="150px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> <div class="aqxx_header_con" id="findpass" style="display:none"> <ul> <li class="aqxx_neixing"> </li> <li class="aqxx_zhuangtai"> </li> <li class="aqxx_last"> <a href="javascript:void(0);" id="zhshow" class="jrb_but03">找回密码</a><a href="javascript:void(0);" id="zhhide" style="display:none" class="jrb_but03">取消找回</a> </li> </ul> </div> </div>...
コード、alert("ok1"); なし 数日間落ち込んでいます
見ていただきたいのは: $.post('{:U("Safeinfo/ txpassadd")}', $("#txadd").serialize(), function(data) {
ブラウザのソース コードには何がありますか?
$.post( テンプレート '{:U("Safeinfo/txpassadd")}', $("#txadd").serialize(), function(data) {
これは何ですかブラウザのソースコードは?
私は困惑して混乱しています!
先生、だから私は説教し、教え、そして疑問を解決します、私の先生は誰ですか?
ブラウザに表示されるコードを省略したいのはなぜですか?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><link href="__PUBLIC__/frontend/css/user.css" rel="stylesheet" type="text/css" /><link href="__PUBLIC__/frontend/css/base.css" rel="stylesheet" type="text/css" /><script src="__PUBLIC__/frontend/js/jquery.js" type="text/javascript"></script> <style type="text/css">.wsz { color:#a9a9a9}.sz { color:#CCCCD5;}.smyz { color:#a9a9a9; display:none}.tscg { display:none}</style></head><body style="background:#FFF"><div class="aq_iframe"> <form action="{:U('Safeinfo/txpassadd')}" method="post" id="txadd"> <p> <label for="username"><span style="color:#F00; margin-right:5px;">*</span>交易密码</label> <input type="password" class="aqifm_srk" name="txpass" placeholder="6-12位字母、数字、符号"/> <span class="tip_aq"> <font class="smyz txpass">交易密码不能为空!</font> <font class="tscg4"></font> </span> <p> <label for="username"><span style="color:#F00; margin-right:5px;">*</span>重复密码</label> <input type="password" class="aqifm_srk" name="rtxpass" placeholder="请再次输入您的交易密码"/> <span class="tip_aq"> <font class="smyz rtxpass">重复密码不能为空!</font> </span> <div class="aqifm_con_but"> <input name="" type="button" value="提 交" class="jrb_but02" id="txaj"/> </div> </form></div><script>//提现密码添加 $("#txaj").click(function() { if ($("input[name='txpass']").val() == "") { $(".txpass").show(); } else { $(".txpass").hide(); } if ($("input[name='rtxpass']").val() == "") { $(".rtxpass").show(); } else { $(".rtxpass").hide(); } if ($("input[name='txpass']").val() != "" && $("input[name='rtxpass']").val() != "" && txpass()) { alert("ok1"); $.post('{:U("Safeinfo/txpassadd")}', $("#txadd").serialize(), function(data) { alert("ok2"); var data1=eval("("+data+")"); $(".tscg4").html(data1.msg); //cjq script //alert("data.code: " + data.code); if (data1.code === '10000') { setTimeout(function() { parent.location.reload(); }, 1000); } },'json'); } }) //判断添加提现密码长度function txpass() { if ($("input[name='txpass']").val().length > 5 && $("input[name='txpass']").val().length < 13) { return true; } else { $(".tscg4").html("<font color=\"#a9a9a9\">密码必须要6-12位字母、数字和符号!</font>"); return false; }}</script></body></html>jquery で戻りパラメータの型を指定する
$.post('{:U("Safeinfo/txpassadd")}', $("#txadd").serialize(), function(data) { alert("ok"); ...},"json");
これが完全なコードです、ありがとう!
そうですか? id=txadd のタグも $.post(.... コードもありません
id=txadd のタグも $.post(.... コードもありません
2 階のコードにある次のコードに注目してください:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>安全设置 - 桂林金融宝众投借贷平台</title><!--[if IE 6]><script src="/Public/frontend/js/DD_belatedPNG.js"></script><script> /* EXAMPLE */ DD_belatedPNG.fix('.png_fix');</script> <style type="text/css">.smyz { color:#a9a9a9; display:none}.tscg { display:none}</style> </head> <body><div class="div1"><div class="zhutineirong"> <div class="left"> <div class="first"><img class="png_fix lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/home.png" style="max-width:90%" style="max-width:90%" title="我的巨轮贷"/ alt="die(json_encode(. が返されませんでした)" ><a href="/usercontent-index.html">我的巨轮贷</a></div> <ul class="left_navi"> <li class="zj "><img class="png_fix lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/005.png" style="max-width:90%" style="max-width:90%" title="资金管理"/ alt="die(json_encode(. が返されませんでした)" ><img class="img1 lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/005_2.png" style="max-width:90%" style="max-width:90%" title="资金管理"/ alt="die(json_encode(. が返されませんでした)" ><span class="zj">资金管理</span> <dl class="zjxl" > <dt > <dd ><a href="/charge-show.html">充值</a></dd> <dd ><a href="/withdraw-show.html">提现</a></dd> <dd ><a href="/capital-index.html">交易记录</a></dd> </dt> </dl> </li> <li class="zj "><img class="png_fix lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/062.png" style="max-width:90%" style="max-width:90%" title="投资管理"/ alt="die(json_encode(. が返されませんでした)" ><img class="img1 lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/062_1.png" style="max-width:90%" style="max-width:90%" title="投资管理"/ alt="die(json_encode(. が返されませんでした)" ><span class="zj">投资管理</span> <dl class="zjxl" > <dt> <dd ><a href="/invest-index.html">我的投资</a></dd> <dd ><a href="/invest-statistics.html">投资统计</a></dd> </dt> </dl> </li> <li class="zj "><img class="png_fix lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/009.png" style="max-width:90%" style="max-width:90%" title="借贷管理"/ alt="die(json_encode(. が返されませんでした)" ><img class="img1 lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/009_2.png" style="max-width:90%" style="max-width:90%" title="借贷管理"/ alt="die(json_encode(. が返されませんでした)" ><span class="zj">借贷管理</span> <dl class="zjxl" > <dt> <dd ><a href="/loan-findAll.html" class="ok">我的借款</a></dd> <dd ><a href="/loan_total-index.html">借款统计</a></dd> </dt> </dl> </li> <li class="zj cur"><img class="png_fix lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/011.png" style="max-width:90%" style="max-width:90%" title="账户管理"/ alt="die(json_encode(. が返されませんでした)" ><img class="img1 lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/011_1.png" style="max-width:90%" style="max-width:90%" title="账户管理"/ alt="die(json_encode(. が返されませんでした)" ><span class="zj">账户管理</span> <dl class="zjxl" style="display: block"> <dt> <dd ><a href="/userinfo-index.html">个人资料中心</a></dd> <dd class="d-cur"><a href="/safeinfo-index.html" class="ok">安全设置</a></dd> <dd ><a href="/account-bankCard.html">银行卡设置</a></dd> <dd ><a href="/authhome-index.html">申请认证</a></dd> </dt> </dl> </li> <li class="zj "><img class="png_fix lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/022.png" style="max-width:90%" style="max-width:90%" title="互动管理"/ alt="die(json_encode(. が返されませんでした)" ><img class="img1 lazy" src="/static/imghwm/default1.png" data-src="/Public/frontend/images/ico/022_1.png" style="max-width:90%" style="max-width:90%" title="互动管理"/ alt="die(json_encode(. が返されませんでした)" ><span class="zj">互动管理</span> <dl class="zjxl" > <dt> <dd ><a href="/msg-index.html">站内消息</a></dd> </dt> </dl> </li> </ul> </div> <div class="users_right_con"> <h1 id="安全信息">安全信息</h1> <div class="aqxx_con"> <div class="aqxx_header_con"> <ul> <li class="aqxx_neixing">登录密码</li> <li class="aqxx_zhuangtai">为了您的账户安全,请定期更换登录密码,并确保与交易密码不同。</li> <li class="aqxx_last" id="denglumima"> <a href="javascript:void(0);" id="clokshow" class="jrb_but03">修改</a><a href="javascript:void(0);" id="clokhide" style="display:none" class="jrb_but03">取消修改</a> </li> </ul> </div> <div class="aqxx_con_xq" id="denglumima02" style="display:none"><iframe src="/safeinfo-denglumima.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="270px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> </div> <div class="aqxx_con"> <div class="aqxx_header_con"> <ul> <li class="aqxx_neixing">交易密码</li> <li class="aqxx_zhuangtai">为了您的账户安全,提现需要输入交易密码,请确保与登录密码不同。</li> <li class="aqxx_last"> <a href="javascript:void(0);" id="txshow1" class="jrb_but03">设置</a><a href="javascript:void(0);" id="txhide1" style="display:none" class="jrb_but03">取消设置</a> </li> </ul> </div> <div class="aqxx_con_xq" id="jiaoyimima02" style="display:none"><iframe src="/safeinfo-jiaoyimima.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> <div class="aqxx_con_xq" id="jiaoyimima03" style="display:none"><iframe src="/safeinfo-jiaoyimima03.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="270px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> <div class="aqxx_con_xq" id="jiaoyimima04" style="display:none"><iframe src="/safeinfo-jiaoyimima04.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="150px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> <div class="aqxx_header_con" id="findpass" style="display:none"> <ul> <li class="aqxx_neixing"> </li> <li class="aqxx_zhuangtai"> </li> <li class="aqxx_last"> <a href="javascript:void(0);" id="zhshow" class="jrb_but03">找回密码</a><a href="javascript:void(0);" id="zhhide" style="display:none" class="jrb_but03">取消找回</a> </li> </ul> </div> </div> <div class="aqxx_con"> <div class="aqxx_header_con"> <ul> <li class="aqxx_neixing">绑定邮箱</li> <li class="aqxx_zhuangtai">mic****ah.net</li> <li class="aqxx_last"> <a style="color:#999; margin-right:10px;">已验证</a> </li> </ul> </div> <div class="aqxx_con_xq" id="bangdingyouxiang02" style="display:none"><iframe src="/safeinfo-bangdingyouxiang.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="150px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> </div> <div class="aqxx_con"> <div class="aqxx_header_con"> <ul> <li class="aqxx_neixing">绑定手机</li> <li class="aqxx_zhuangtai">可以用手机找回您的密码,更改手机请先验证。</li> <li class="aqxx_last"> <a href="javascript:void(0);" id="phoneshow1" class="jrb_but03">修改</a><a href="javascript:void(0);" id="phonehide1" style="display:none" class="jrb_but03">取消修改</a> </li> </ul> </div> <div class="aqxx_con_xq" id="bangdingshouji02" style="display:none"><iframe src="/safeinfo-bangdingshouji.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> <div class="aqxx_con_xq" id="bangdingshouji03" style="display:none"><iframe src="/safeinfo-bangdingshouji03.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="270px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> <div class="aqxx_con_xq" id="bangdingshouji04" style="display:none"><iframe src="/safeinfo-bangdingshouji04.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> </div> <!-- <div class="aqxx_con"> <div class="aqxx_header_con"> <ul> <li class="aqxx_neixing">实名认证</li> <li class="aqxx_zhuangtai">45****************</li> <li class="aqxx_last"> <label class="sz"> 周*****</label> </li> </ul> </div> <div class="aqxx_con_xq" id="shimingrenzheng02" style="display:none"><iframe src="/safeinfo-shimingrenzheng.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe></div> </div> --> </div> </div><script src="/Public/frontend/js/jquery.js" type="text/javascript"></script><script type="text/javascript"> var env = 0; $(document).ready(function() { $(".zj dd").click(function() { env = 1; }); $(".zj").click(function() { if (env === 0) { $(this).children(".zjxl").toggle(); } env = 0; }); $('.verify-code').addClass('.verify-code'); });</script></div> <script src="/Public/frontend/js/anquan.js" language="javascript"></script><script> $(document).ready(function() { $("#denglumima").click(function() { $("#denglumima02").toggle(); }) $("#jiaoyimima").click(function() { $("#jiaoyimima02").toggle(); }) $("#bangdingyouxiang").click(function() { $("#bangdingyouxiang02").toggle(); }) });</script></body></html>
フレーム内にある場合は、フレーム内に表示される HTML コードを投稿できます。#5 は単なるテンプレート ファイルです。フレーム内にあるため、投稿してフレーム内で見ることができます。 HTML コード #5 は単なるテンプレート ファイルです。直接使用すると、間違いなく機能しません
送信をクリックします。alert("ok2") のみです。
<iframe src="/safeinfo-bangdingshouji.html" style="marginheight="0" marginwidth="0" frameborder="0" scrolling="no" width="400px" height="200px"" id="ifm" name="ifm" onload="javascript:dyniframesize('ifm');"></iframe>
safeinfo-txpassadd.html 经 url 重写后实际执行的是
SafeinfoAction::txpassadd 方法
其中用到 tip 函数,不知你是如何定义的
你那 $.post 方法有 json 声明,所以 tip 函数应输出 json 格式串
而 $.post 的回调函数的参数 data 已被解析成 js 对象了
你再 var data1=eval("("+data+")"); 就有蛇足了,应去掉
你得先把你php代码调试好才行
tip 函数应写成这样
function tip($code, $msg) { $arr['code'] = iconv('GB2312', 'UTF-8', $code); $arr['msg'] = iconv('GB2312', 'UTF-8', $msg); die(json_encode($arr));// die(var_json_encode($arr)); //cjq}
对于 tip("100", '交易密码不能与登录密码一样!');
得 {"code":"100","msg":"\u4ea4\u6613\u5bc6\u7801\u4e0d\u80fd\u4e0e\u767b\u5f55\u5bc6\u7801\u4e00\u6837\uff01"}
如果写成
function tip($code, $msg) { $arr['code'] = iconv('GB2312', 'UTF-8', $code); $arr['msg'] = iconv('GB2312', 'UTF-8', $msg); // die(json_encode($arr)); die(var_json_encode($arr)); //cjq}
则 tip("100", '交易密码不能与登录密码一样!');
得 {"code":"100","msg":"交易密码不能与登录密码一样!"}
就错了!
tip 函数应写成这样
function tip($code, $msg) { $arr['code'] = iconv('GB2312', 'UTF-8', $code); $arr['msg'] = iconv('GB2312', 'UTF-8', $msg); die(json_encode($arr));}
谢谢!这样子确实有返回了,但是有个问题:
$(".tscg4").html(data.msg);
中data.msg的值变成浜ゆ
怎么变回:交易密码不能与登录密码一样! 呢?
请继续指教,十分感谢!
没道理呀,这要试试
function tip($code, $msg) { $arr['code'] = urlencode($code); $arr['msg'] = urlencode($msg); $s = json_encode($arr); die(urldecode($s);}
没道理呀,这要试试
function tip($code, $msg) { $arr['code'] = urlencode($code); $arr['msg'] = urlencode($msg); $s = json_encode($arr); die(urldecode($s);}
谢谢斑竹老大,试过了,这样子ajax就无法返回了,
点击提交,只弹出了alert("ok1"); 没有弹出alert("ok2");
唉,这ajax的东东搞起来还真难搞!

BestappRoachforseminginphpisusingthephpmailerlibrarydueToitsReliability、featurrichness、andeaseofuse.phpmailerSupportssmtpは、detairederorhandlingを提供します

依存関係注射(DI)を使用する理由は、コードのゆるい結合、テスト可能性、および保守性を促進するためです。 1)コンストラクターを使用して依存関係を注入します。2)サービスロケーターの使用を避け、3)依存関係噴射コンテナを使用して依存関係を管理する、4)依存関係を注入することでテスト可能性を向上させる、5)注入依存性を回避、6)パフォーマンスに対するDIの影響を考慮します。

phpperformancetuningisucial cuseenhancess andandandadsand。

bestpracticesforsendingemails securlyinphpinclude:1)sutureconsmttarttlsencryptionとの使用の使用、2)検証およびサンシジン化のinputStopReventinjectuctacks、3)adinitivedinitivedInemailsopenslsl、4)adlinglinglingemailoaに

tooptimizephpapplicationsforporformance、usecaching、databaseoptimization、opcodecaching、andserverconfiguration.1)cachingwithedatedatedatafethtimes.2)最適化バイズビーインデキシング、readedandandandwriteoperations.3)

依存関係の依存性、テスト可能性、および維持可能性の依存性の依存性の依存性、および維持可能性は、エクステルンド依存性を維持する可能性があります

PHPパフォーマンスの最適化は、次の手順を通じて実現できます。1)スクリプトの上部にrequire_onceまたはinclude_onceを使用して、ファイルの負荷数を減らすことができます。 2)プリプロセシングステートメントとバッチ処理を使用して、データベースクエリの数を減らします。 3)OpCodeキャッシュのOpCacheを構成します。 4)PHP-FPM最適化プロセス管理を有効にして構成します。 5)CDNを使用して静的リソースを配布します。 6)コードパフォーマンス分析には、XdebugまたはBlackfireを使用します。 7)配列などの効率的なデータ構造を選択します。 8)最適化実行のためのモジュラーコードを記述します。

opcodeCachingsificlyprovesppherformanceBycachingCompiledCode、reducingServerloadandResponsetimes.1)itStoresPhpCodeInMemory、バイパス補助補強団体


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

メモ帳++7.3.1
使いやすく無料のコードエディター

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
