php 验证问题 php一个main.php 这里面会对用户名 密码进行验证。验证 页面通过passport.php 接口的返回值来确定 ,如何发送 这个请求,还有如何接收 返回来的值。 passport 的返回值 通过echo 呈现。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 发送用form的POST方法,passport.php中接收用$_POST["name"],$_POST["pwd"],然后进行处理 我的意思是 我怎么在我的main.php 引用一个 url 也就是www.xx00.com/passport.php 返回的echo值。如何接收这个值。 恩,这样我一帮会用jquery的ajax调用那个passport.php,然后在ajax调用回调的函数里检查返回值。 按楼主的意思,就是7楼的,用ajax 最近刚写了一个用户注册和验证的全套js验证.其中包括了ajax验证用户名及图形验证码.一般lz的问题是用ajax来做的.其中jquery提供了非常简单的函数.get()方法.然后用json封装数据具体代码为: $.get("./checkpage/"+var, function(data){ //var为要验证的参数,我这里用的ci框架,一般传值方法可以用get方法,如./checkpage?var=var if (data.errors != 0) { $("#login_errors").text(data.errors);//html页面中id为login_errors的错误提示框中显示错误信息 $('#login_account').focus();//账户输入框获得焦点 } else { $("#login_errors").attr('state',1); } }, 'json'); php那边用echo json_encode($data)输出数据,具体如:checkpage页面或函数里面$var=$_GET['var'];//或者直接用函数参数的形式使用$check=check();//这里的函数返回false或trueif(!$check){ $data['errors']='用户名错误'; }else $data['errors']=0;echo json_encode($data);这时你可以看到上面的js代码.其中的data就等于php里面返回的$data.当然,要使用jquery是需要先加载jquery模块的.这个可以到网上下载.就不罗嗦了 不能使用 js 或者 ajax ,只能用php 如何获取验证后返回的数据 A超链接到B,B处理完超链接到A其中的数据传输可以是url也可是其他形式如session等 main.php 访问 passport.php用的是url 跟上参数的形式。passport.php在main.php里面直接调用,试问如何接收返回值。 不过帐号认证一般都用POST方式的,如果用URL不安全,就算一定要用URL,也需要加密之后再使用。 楼主最好用session存起来,然后<?phpheader('location.href:返回页.php');?>另一个页面直接用session获取就行了 如果main和passport在同一个域(同域名并且同服务器),理应用session控制不同域的话,双方应有数据交换接口,或共用接口,例如数据库保存session 在passport.php中$url = "main.php?msg="+msg;Header("Location:$url");在main.php中if(isset($_GET['msg'])){//这个处理结果}else{//这个做先前的跳转操作} 我希望看到的是用这个 curl_init 来处理的。有没有解决方案。 附上我的main 代码和passport 代码main。php@include("../passport.php");passport。php<?php /* * 验证接口 */ $key = "dslfd0LL7ffsdfhhe"; $times = time(); $sign = md5($username.'1'.$times.$key); $url = "http://dev.xxoo.com/api/index/login/username/$username/password/$password/gameid/1/time/$times/sign/$sign"; $curl = curl_init($url); $keyEnquiryOpt=array(CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true); curl_setopt_array($curl, $keyEnquiryOpt); $response = @curl_exec($curl); curl_close($curl); if ($response == "100") { $passsucc = true; } else { $passsucc = false; }?> //根据这链接可以看出$url = "http://dev.xxoo.com/api/index/login/username/$username/password/$password/gameid/1/time/$times/sign/$sign";if(isset($_POST['submit']=='提交后')){$username=$_POST['username'];//接收表单用户名$password=$_POST['password'];//接收表密码@include("../passport.php");if($passsucc==true){ echo "成功";}} jquery,ajxa异步,post或get请求获取data 没看清楚,我主要想问的是 $curl = curl_init($url); $keyEnquiryOpt=array(CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true); curl_setopt_array($curl, $keyEnquiryOpt); $response = @curl_exec($curl); curl_close($curl);是如何运行的,解释下代码。百度 谷歌了下也没发现有用这中方式。还有如果那服务端返回对象的话,$response能接收到这个数据么? $url = "http://dev.xxoo.com/api/index/login/username/$username/password/$password/gameid/1/time/$times/sign/$sign";这个设定要提交的网址 $curl = curl_init($url);建立一个curl $keyEnquiryOpt=array(CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true); curl_setopt_array($curl, $keyEnquiryOpt);这两个设定curl参数,可选参数很多,数十个,难以一一说明,具体查看手册和网上的一些翻译资料大致是模拟浏览器的环境 $response = @curl_exec($curl);实施curl,成功的话返回值就是$response例如url只是个普通网页,$response就是个html格式的字符串 能接受复杂的返回对象么?比如返回了:一个数组,reponse能接收到吗? 返回的其实就是对方输出的内容,你假设对方是个php,那么php能够echo什么,你就能得到什么换句话说,你得到的应该是个字符串,而不是其他类型,但字串的内容不限,你可以把它用程序转换 明白了。还有没有其他的访问另一个php并得到返回结果的方法呢?除了这个: $curl = curl_init($url); $keyEnquiryOpt=array(CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true); curl_setopt_array($curl, $keyEnquiryOpt); $response = @curl_exec($curl); curl_close($curl); 求教各位大师 元旦娱乐贴:岁末观火-隔壁带有写轮眼的“吕布". 为什么我还是两个绿三角? 我用iconv("gb2312","utf-8",$contents); 转过来的$contents怎么是斜体的字 请写过聊天室的朋友进来帮忙分析一下,谢谢离/. 怎样让用户在上传图片时,能预览选定的图片! waterproof PHPEdit 如何配置"自动缩进"功能? PHP的网站统计系统,100分相赠 可编辑的表格? 在线等!!!!!!!!!!1 ★★再给100分:搜索单字符时总会出搜索出些不相关的东西? 判断来访页面的url问题 困扰多时的问题,页面老是显示不了,实在没办法了,帮忙急!!!!!!
如何接收这个值。
一般lz的问题是用ajax来做的.其中jquery提供了非常简单的函数.get()方法.然后用json封装数据
具体代码为: $.get("./checkpage/"+var, function(data){
//var为要验证的参数,我这里用的ci框架,一般传值方法可以用get方法,如./checkpage?var=var
if (data.errors != 0)
{
$("#login_errors").text(data.errors);//html页面中id为login_errors的错误提示框中显示错误信息
$('#login_account').focus();//账户输入框获得焦点
}
else
{
$("#login_errors").attr('state',1);
}
}, 'json'); php那边用echo json_encode($data)输出数据,具体如:
checkpage页面或函数里面$var=$_GET['var'];//或者直接用函数参数的形式使用
$check=check();//这里的函数返回false或true
if(!$check)
{
$data['errors']='用户名错误';
}
else
$data['errors']=0;
echo json_encode($data);这时你可以看到上面的js代码.其中的data就等于php里面返回的$data.
当然,要使用jquery是需要先加载jquery模块的.这个可以到网上下载.就不罗嗦了
其中的数据传输可以是url也可是其他形式如session等
<?php
header('location.href:返回页.php');
?>另一个页面直接用session获取就行了
不同域的话,双方应有数据交换接口,或共用接口,例如数据库保存session
Header("Location:$url");在main.php中if(isset($_GET['msg'])){
//这个处理结果
}else{
//这个做先前的跳转操作
}
main。php
@include("../passport.php");
passport。php
<?php
/*
* 验证接口
*/
$key = "dslfd0LL7ffsdfhhe";
$times = time();
$sign = md5($username.'1'.$times.$key);
$url = "http://dev.xxoo.com/api/index/login/username/$username/password/$password/gameid/1/time/$times/sign/$sign";
$curl = curl_init($url);
$keyEnquiryOpt=array(CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true);
curl_setopt_array($curl, $keyEnquiryOpt);
$response = @curl_exec($curl);
curl_close($curl);
if ($response == "100")
{
$passsucc = true;
} else
{
$passsucc = false;
}
?>
$url = "http://dev.xxoo.com/api/index/login/username/$username/password/$password/gameid/1/time/$times/sign/$sign";if(isset($_POST['submit']=='提交后')){
$username=$_POST['username'];//接收表单用户名
$password=$_POST['password'];//接收表密码
@include("../passport.php");
if($passsucc==true){
echo "成功";
}
}
$keyEnquiryOpt=array(CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true);
curl_setopt_array($curl, $keyEnquiryOpt);
$response = @curl_exec($curl);
curl_close($curl);
是如何运行的,解释下代码。百度 谷歌了下也没发现有用这中方式。还有如果那服务端返回对象的话,$response能接收到这个数据么?
建立一个curl $keyEnquiryOpt=array(CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true);
curl_setopt_array($curl, $keyEnquiryOpt);
这两个设定curl参数,可选参数很多,数十个,难以一一说明,具体查看手册和网上的一些翻译资料
大致是模拟浏览器的环境 $response = @curl_exec($curl);
实施curl,成功的话返回值就是$response
例如url只是个普通网页,$response就是个html格式的字符串
$keyEnquiryOpt=array(CURLOPT_HEADER => false, CURLOPT_RETURNTRANSFER => true);
curl_setopt_array($curl, $keyEnquiryOpt);
$response = @curl_exec($curl);
curl_close($curl);