Я тестирую почтовую форму PHP, очень баребонную, найденную здесь :
<?php if(isset($_POST['submit'])) { //The form has been submitted, prep a nice thank you message $output = '<h3>Thanks for your message</h3>'; //Deal with the email $to = 'mymail@mail.com'; $subject = 'you have a mail'; $contactname = strip_tags($_POST['contactname']); $adress = strip_tags($_POST['adress']); $contactemail = strip_tags($_POST['contactemail']); $textmessage = strip_tags($_POST['textmessage']); $boundary =md5(date('r', time())); $headers = "From: My Site\r\nReply-To: webmaster@mysite.com"; $message = "Name: ".$contactname."\n"; $message .= "Adress: ".$adress."\n"; $message .= "E-mail: ".$contactemail."\n"; $message .= "Message: ".$textmessage."\n"; mail($to, $subject, $message, $headers); } ?>
Проблема в том, что я получаю нежелательную косую черту «\» каждый раз, когда я пишу сингл или двойную кавычку в своем сообщении, поэтому «я» отображается как «я» в своем почтовом ящике.
Я знаю, что это связано с тем, как PHP отличает кодовые цитаты только от котировок лекций, но я не знаю, что добавить в мою форму, чтобы правильно ее запустить.
Любая помощь приветствуется,
вы можете попробовать stripslashing ваше сообщение, что-то вроде:
$message = stripslashes($message);
Проще всего сделать, чтобы превратить магические цитаты в php.ini,
magic_quotes_gpc = FALSE
Если вы не можете этого сделать, вам нужно удалить косые черты, подобные этому,
if (get_magic_quotes_gpc()) { foreach($_POST as $k => $v) { $_POST[$k] = stripslashes($v); } }