首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cakephp .传递用户ip到表单

Cakephp .传递用户ip到表单
EN

Stack Overflow用户
提问于 2013-11-12 17:14:59
回答 3查看 459关注 0票数 1

我正在试着通过用户ip设计表单,但我无法处理。在我的情况下,谷歌搜索和在烹饪书中搜索都是没用的。

如何在创建帖子时以形式传递用户ip?当然,使用cakephp

这是我的全部表格

代码语言:javascript
复制
<?php echo $this->Form->create('Info'); ?>
Tytuł :
<?php echo $this->Form->input(__('title',true),array('class'=>'form-controll')); ?>
Treść newsa: 
<?php echo $this->Form->input(__('body',true),array('class'=>'form-controll')); ?>
<?php $this->Form->input(__('ip',true)) = $this->request->clientIp(); ?>
<?php echo $this->Form->submit(__('Dodaj newsa',true),array('class'=>'btn btn-success')); ?>
<?php echo $this->Form->end(); ?>

我把重点放在这件特别的事情上

代码语言:javascript
复制
<?php $this->Form->input(__('ip',true)) = $this->request->clientIp(); ?>

当然是错的,但我尝试了不同的组合。请给我一些提示。问候

编辑。

我想把它传递给我的数据库库中的表,这就是为什么我尝试使用某种帖子。

edit2

多亏了iso27002,我在控制器中解决了我的问题

代码语言:javascript
复制
$this->request->data['Info']['ip'] = $this->request->clientIp();
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-12 19:33:40

函数是正确的,$this->request->clientIp();,但是您需要从Controller调用它。因此,与其使用带有此值的隐藏字段,不如直接将其添加到请求数据中。例如,

$this->request->data['Info']['ip'] = $this->request->clientIp();

然后,如果存在包含客户端IP的隐藏字段,则可以使用相同的代码逻辑。

票数 2
EN

Stack Overflow用户

发布于 2013-11-12 18:38:07

你没有。IP是请求和控制器的一部分。你只需要在那里使用它--不需要通过post来传递它。

只管用

代码语言:javascript
复制
env('REMOTE_ADDR');

在你的控制器里。

票数 1
EN

Stack Overflow用户

发布于 2013-11-12 17:27:46

有一个服务器变量列表将包含客户端IP:

代码语言:javascript
复制
$_SERVER['HTTP_X_FORWARDED_FOR']
$_SERVER['REMOTE_ADDR']
$_SERVER['HTTP_CLIENT_IP']

您可以使用一些if..elseif..else语句来获得正确的客户端ip地址。您不需要将ip作为表单字段。使用Cake请求类或直接从$_SERVER全局变量获取post url中的ip地址。如果您使用ip地址作为某些内容的验证器,请记住,客户端可以更改表单字段值,即使它们是隐藏的。抱歉,我的说话方式,我从来没有从蛋糕的开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19935626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档