gpt4 book ai didi

php - 将变量从表单传递到函数

转载 作者:行者123 更新时间:2023-11-29 22:26:55 26 4
gpt4 key购买 nike

我的个人资料 Controller 中有这个

public function search()
{
$searchString=htmlentities(Request::post('search_field'));
$this->View->render('profile/search', array(
'user' => UserModel::searchProfile($searchString)
));

}

这在我的模型中

    public static function searchProfile($searchString)
{
if(empty($searchString)){
Session::add('feedback_negative', Text::get('FEEDBACK_UNKNOWN_ERROR'));
return false;
}
$database = DatabaseFactory::getFactory()->getConnection();
$query = $database->prepare("SELECT * FROM users WHERE user_name LIKE :query");
$query->execute(array(':query' => '%'.$searchString.'%'));

return $query->fetchAll();
}

但是重定向系统无法处理此问题(点击刷新会弹出“您想再次发送吗?”)

但是,如果我在 search() 中发送 $searchString ,它就会起作用(并且 URL 看起来很酷)。

但是如果 search($searchString) 为空($searchString = null,空输入字段),我会收到错误:警告:ProfileController::search() 缺少参数 1 和 ofc: 注意: undefined variable :searchString

如何将 Request::post('search_field') 放入 search() 中?

最佳答案

不知道这是否可行,但我是这样解决的:

public function search($searchString='')
{
$this->View->render('profile/search', array(
'user' => UserModel::searchProfile(htmlentities($searchString))
));

}

这个表格:

onsubmit="window.location = '<?php echo Config::get('URL'); ?>profile/search/' + search_field.value; return false;"

因此搜索查询将发送到 http://example.com/profile/search/query

有安全风险吗?

关于php - 将变量从表单传递到函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30199776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com