PHP $_POST提交中文乱码
html:<formaction="__APP__/ShoppingCart/add"method="POST"><br/><b>{$pro_name}</b><br/>...
html:
<form action="__APP__/ShoppingCart/add" method="POST">
<br/><b>{$pro_name}</b><br/><br/>
价格:¥{$pro_price}<br/><br/>
已售出:{$pro_sale}件
数量<input type="text" size="2" name="pro_num" value="1"/><input type="submit" value="加入购物车" />
<input type="hidden" name="pro_id" value="{$pro_id}" />
<input type="hidden" name="pro_name" value="{$pro_name}" />
<input type="hidden" name="pro_price" value="{$pro_price}" />
</form>
action:
public function add(){
$user = session("user_name");
if(session("user_name")){
header("Content-Type:text/html;charset=utf8");
request.setCharacterEncoding("UTF-8");
$common = D("Common");
$data["user_id"] = $user[0]["user_id"];
$data["user_name"] = $user[0]["user_name"];
$data["pro_id"] = $_POST["pro_id"];
$data["pro_name"] = $_POST["pro_name"];
$data["pro_price"] = $_POST["pro_price"];
$data["pro_num"] = $_POST["pro_num"];
$data["pro_total"] = $_POST["pro_num"]*$_POST["pro_price"];
dump($data);
echo $data["pro_name"];
}
}
为什么接收的$_POST["pro_name"]是乱码?页面我查看过源代码 那个隐藏域没有变乱码 展开
<form action="__APP__/ShoppingCart/add" method="POST">
<br/><b>{$pro_name}</b><br/><br/>
价格:¥{$pro_price}<br/><br/>
已售出:{$pro_sale}件
数量<input type="text" size="2" name="pro_num" value="1"/><input type="submit" value="加入购物车" />
<input type="hidden" name="pro_id" value="{$pro_id}" />
<input type="hidden" name="pro_name" value="{$pro_name}" />
<input type="hidden" name="pro_price" value="{$pro_price}" />
</form>
action:
public function add(){
$user = session("user_name");
if(session("user_name")){
header("Content-Type:text/html;charset=utf8");
request.setCharacterEncoding("UTF-8");
$common = D("Common");
$data["user_id"] = $user[0]["user_id"];
$data["user_name"] = $user[0]["user_name"];
$data["pro_id"] = $_POST["pro_id"];
$data["pro_name"] = $_POST["pro_name"];
$data["pro_price"] = $_POST["pro_price"];
$data["pro_num"] = $_POST["pro_num"];
$data["pro_total"] = $_POST["pro_num"]*$_POST["pro_price"];
dump($data);
echo $data["pro_name"];
}
}
为什么接收的$_POST["pro_name"]是乱码?页面我查看过源代码 那个隐藏域没有变乱码 展开
2个回答
展开全部
header("Content-Type:text/html;charset=utf8");
修改为冲团
echo '<悄判判meta http-equiv="Content-Type" content="text/html; charset=UTF-8">启改';
看看
修改为冲团
echo '<悄判判meta http-equiv="Content-Type" content="text/html; charset=UTF-8">启改';
看看
追问
可以了 谢了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
确定你的html页面的编码也是utf-8
追问
对 全是UTF-8
追答
设定你的thinkphp编码以及使用thinkphp的$this->_post("pro_price");还获取你的值试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询