0

我有一个数据库,当查询与我们数据库中的任何内容都不匹配时,我试图将我的电子邮件地址显示为超链接。我正在使用以下...

PHP代码...

else{ // if there is no matching rows do following

    echo "<br /><br /><br /><strong><h2>"."You have searched a term that is not in the database. Please contact <a href=\"mailto:email@domain.com" . htmlentities($_POST['email@domain.com']) . "\">".htmlentities($_POST['email@domain.com']) . "</a>, if you think this term should be added."."</h2></strong>";

但是,我得到的结果看起来像这样......

“您搜索了一个不在数据库中的词。如果您认为应该添加该词,请联系。”

除了超链接的电子邮件地址,一切都在那里。

想法?

4

5 回答 5

2
<a href="mailto:<?php echo $_POST['email_field_name']; ?>">
    <?php echo $_POST['email_field_name']; ?>
</a>

虽然,您可能希望提供一些电子邮件地址混淆机制。这将为您的用户提供一定程度的保护,防止垃圾邮件机器人挖掘您的电子邮件地址。通常,不受保护的地址(如上例所示)会随着时间的推移收到越来越多的垃圾邮件。

如果您在其上显示它们的页面在登录后受到保护,那么这不是一个问题。

于 2013-07-25T16:22:44.003 回答
1

试试这个..

else{ // if there is no matching rows do following
    $mail = htmlentities('email@domain.com');
    echo "<br /><br /><br /><strong><h2>" .
        "You have searched a term that is not in the database. Please contact <a href=\"mailto:$mail\">$mail</a>, if you think this term should be added.</h2></strong>";
于 2013-07-25T16:24:19.520 回答
0

$_POST['email@domain.com']可能未定义(或为空)。

你不只是想要:"email@domain.com"

于 2013-07-25T16:21:35.370 回答
0

这:

$_POST['email@domain.com']

应该改成这样:

$_POST['email'];

其中电子邮件是您的表单字段。仅当您从前一页获取电子邮件地址的值作为表单字段时,这才有效。如果不是这种情况,那么只需将 $_POST['email@domain.com'] 替换为 "email@domain.com";

于 2013-07-25T16:21:37.637 回答
0

$_POST['email@domain.com']应该是$_POST['email']。而且不应该有email@domain.comafter mailto。你的陈述应该是这样的:

 echo "<br /><br /><br /><strong><h2>"."You have searched a term that is not in the database. Please contact <a href='mailto:" . htmlentities($_POST['email']) . "'>".htmlentities($_POST['email']) . "</a>, if you think this term should be added."."</h2></strong>";
于 2013-07-25T16:26:53.210 回答