PHP获取用户键盘输入的变量,ThinkPHP控制器获取输入变量

获取输入变量有以下几种方式:

1、$_GET/$_POST/$_SERVER(不安全)

2、ThinkPHP框架提供了I函数(Input单词的大写首字母I),方便地实现输入变量读取,并自动进行数据安全过滤;

3、Input函数:I(''变量类型.变量名',['默认值'],['过滤方法'],['额外数据源']);

实例分析:

使用I函数将server变量的数据读取出来。

~~~

namespace Home\Controller;

use Think\Controller;

class UserController extends Controller{

public function index(){

//$this->redirect('..\index',2,'redirect纯跳转');

//$this->success('成功跳转!!',U('Index/index'),2);

//$this->error('跳转失败!!',U('Index/index'),3);

//$this->ajaxReturn(getTestData(),'json');

$server=I('server.');

dump($server);

}

public function edit()

{

echo "User.edit.";

}

public function login(){

echo "User.login.";

}

}

?>

~~~

页面显示:

~~~

array(38) {

["REDIRECT_STATUS"] => string(3) "200"

["HTTP_HOST"] => string(11) "studytp.com"

["HTTP_CONNECTION"] => string(10) "keep-alive"

["HTTP_ACCEPT"] => string(74) "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"

["HTTP_USER_AGENT"] => string(124) "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36 2345chrome v3.0.0.9739"

["HTTP_REFERER"] => string(19) "http://studytp.com/"

["HTTP_ACCEPT_ENCODING"] => string(19) "gzip, deflate, sdch"

["HTTP_ACCEPT_LANGUAGE"] => string(14) "zh-CN,zh;q=0.8"

["HTTP_COOKIE"] => string(76) "PHPSESSID=jq9m05npgr6uo030m4dgb4v0k3; pgv_pvi=8167662592; pgv_si=s1030067200"

["PATH"] => string(173) "C:\app\Union_pc\product\11.2.0\dbhome_1\bin;C:\Documents and Settings\All Users\Application Data\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem"

["SystemRoot"] => string(10) "C:\WINDOWS"

["COMSPEC"] => string(27) "C:\WINDOWS\system32\cmd.exe"

["PATHEXT"] => string(48) ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH"

["WINDIR"] => string(10) "C:\WINDOWS"

["SERVER_SIGNATURE"] => string(0) ""

["SERVER_SOFTWARE"] => string(48) "Apache/2.4.10 (Win32) OpenSSL/0.9.8zb PHP/5.3.29"

["SERVER_NAME"] => string(11) "studytp.com"

["SERVER_ADDR"] => string(9) "127.0.0.1"

["SERVER_PORT"] => string(2) "80"

["REMOTE_ADDR"] => string(9) "127.0.0.1"

["DOCUMENT_ROOT"] => string(15) "D:/phpStudy/WWW"

["REQUEST_SCHEME"] => string(4) "http"

["CONTEXT_PREFIX"] => string(0) ""

["CONTEXT_DOCUMENT_ROOT"] => string(15) "D:/phpStudy/WWW"

["SERVER_ADMIN"] => string(18) "admin@phpStudy.net"

["SCRIPT_FILENAME"] => string(25) "D:/phpStudy/WWW/index.php"

["REMOTE_PORT"] => string(4) "1867"

["REDIRECT_URL"] => string(21) "/home/user/index.html"

["GATEWAY_INTERFACE"] => string(7) "CGI/1.1"

["SERVER_PROTOCOL"] => string(8) "HTTP/1.1"

["REQUEST_METHOD"] => string(3) "GET"

["QUERY_STRING"] => string(0) ""

["REQUEST_URI"] => string(21) "/home/user/index.html"

["SCRIPT_NAME"] => string(10) "/index.php"

["PATH_INFO"] => string(10) "user/index"

["PATH_TRANSLATED"] => string(51) "redirect:\index.php\Home\user\index.html\index.html"

["PHP_SELF"] => string(31) "/index.php/Home/user/index.html"

["REQUEST_TIME"] => string(10) "1446772044"

}

~~~

提取其中一个变量 ["HTTP_HOST"]。

~~~

namespace Home\Controller;

use Think\Controller;

class UserController extends Controller{

public function index(){

//$this->redirect('..\index',2,'redirect纯跳转');

//$this->success('成功跳转!!',U('Index/index'),2);

//$this->error('跳转失败!!',U('Index/index'),3);

//$this->ajaxReturn(getTestData(),'json');

$server=I('server.HTTP_HOST');

dump($server);

}

public function edit()

{

echo "User.edit.";

}

public function login(){

echo "User.login.";

}

}

?>

~~~

输出:

string(11) "studytp.com"

使用I函数中的get方法

~~~

namespace Home\Controller;

use Think\Controller;

class UserController extends Controller{

public function index(){

//$this->redirect('..\index',2,'redirect纯跳转');

//$this->success('成功跳转!!',U('Index/index'),2);

//$this->error('跳转失败!!',U('Index/index'),3);

//$this->ajaxReturn(getTestData(),'json');

$server=I('server.HTTP_HOST');

dump($server);

}

public function edit()

{

echo "User.edit.";

}

public function login(){

$User=I('get.user',null);

if ($User=='jike') {

$this->success('你好'.$User,U('Index/index'),3);

}

else{

$this->error('你不是'.$User,U('Index/index'),3);

}

}

}

?>

~~~

传入参数:http://server/home/User/login/user/jike就可以看到跳转成功,否则就看到跳转失败。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值