При использовании функции php mail перед параметром get добавлена ​​прямая косая черта - PullRequest
0 голосов
/ 08 сентября 2011

У меня есть ссылка в теле сообщения, которое имеет вид

page.php?id=x&name=y

Когда я отправляю сообщение, используя функцию почты php

, она выводит ссылку (в gmail, если онаимеет значение) как page.php/?id=x&name=y, т. е. ставит косую черту перед параметром get "id".В конечном итоге я выполню URL переписываний, но мне любопытно, как предотвратить это в PHP без перезаписи URL?

Спасибо

РЕДАКТИРОВАТЬ:

Вот соответствующий раздел кода:

//     $send_email and $rec_email are grabbed from database

 $part_mess = "<b>$sender_name". " says hi</b><br/><a href=profile.php?id=$sender_id&uname=$sender> View $sender_name"."'s profile</a>" ;
 $mess = $part_mess."<br/> Via <a href = 'http://www.mysite.com'>My Site</a>";
 $headers =  "MIME-Version: 1.0" . "\r\n"."Content-type:text/html;charset=iso-8859-1" . "\r\n".'From:'. $send_email . "\r\n";
 mail($rec_email, $subject,$mess,$headers , '-f admin@name.mysite.com');

1 Ответ

0 голосов
/ 20 сентября 2011

У меня была такая же проблема, у вас есть 1and1.com для вашего хостинга?По какой-то причине только сайт, который я размещал на них, был функцией mail (), которая экранировала все специальные символы с косой чертой.

Попробуйте это:

//     $send_email and $rec_email are grabbed from database

 $part_mess = "<b>$sender_name". " says hi</b><br/><a href=profile.php?id=$sender_id&    uname=$sender> View $sender_name"."'s profile</a>" ;
 $mess = $part_mess."<br/> Via <a href = 'http://www.mysite.com'>My Site</a>";
 $headers =  "MIME-Version: 1.0" . "\r\n"."Content-type:text/html;charset=iso-8859-1" . "\r\n".'From:'. $send_email . "\r\n";
 mail($rec_email, $subject,stripslashes($mess),$headers , '-f admin@name.mysite.com');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...