0

在我的 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;

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

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

应该:

THIS IS A 'SUBJECT'

这是声明正确编码的问题吗?这仅在我开始使用时才发生,stripslashes所以 stripslashes 是否忽略编码?我读到了一个<form>用于设置的属性UTF-8,但这没有用。是否有特定于 stripslashes 的修复程序,或者我必须对脚本编码进行整体更改?

谁能告诉我问题是什么?

谢谢您的帮助。

4

0 回答 0