PHP从联系表单中删除变量编码

时间:2013-03-11 09:22:25

标签: php post utf-8 stripslashes

在我的PHP联系表单脚本中,

我正在使用_POST提交包含必须转义的引号的PHP变量,并且在到达时,其值将成为表单中$formSubject变量的值,并且具有使用stripslashes删除了斜杠。

以下是显示$formSubject变量以及标题的表单的摘录。

<input type="text" name="formSubject" id="formSubject" value="<?php if(isset($_POST['formSubject']))  echo stripslashes($_POST['formSubject']);?>" />

if (($resp->is_valid) && (!isset($hasError))) {
  $emailTo = 'yourEmail@address.com';
  $subject = 'A new message from: ' . $formAuthor . ' | ' . $formSubject;
  $body = "Email: $formEmail \n\nContent: $formContent  \n\n$formAuthor";
  $headers = 'From: <'.$formEmail.'>' . "\r\n" . 'Reply-To: ' . $formEmail . "\r\n" . 'Return-Path: ' . $formEmail;

由于我已经开始在echoed变量上使用stripslashes,所以主题在表单的页面上是正确的,但是一旦电子邮件到达,主题中的ASCII就无法正确解析。

THIS IS A \&#39;SUBJECT\&#39;

应该是:

THIS IS A 'SUBJECT'

这是声明正确编码的问题吗?这只发生在我开始使用stripslashes时,striplashes会忽略编码吗?我在<form>上了解了要用于设置UTF-8的属性,但这不起作用。是否有特定于stripslashes的修复,或者是否需要对脚本编码进行整体更改?

谁能告诉我这是什么问题?

感谢您的协助。

0 个答案:

没有答案