从数据库提取创建一个html mailto链接

时间:2014-08-27 17:43:55

标签: php html database fetch mailto

我很难从用户输入的电子邮件地址创建mailto链接,该电子邮件地址存储在数据库中(这用于评论部分)。我希望创建一个新的行,其中的电子邮件地址打印有mailto超链接。相反,它不会打印电子邮件地址,而是将该行下面的所有文本转换为mailto超链接。请参阅附图以获得澄清。

echo "<h3><u>Latest Comments:</u></h3>";
while($fetch=mysql_fetch_array($query)) {
echo "<hr />";
echo "<p>".$fetch['comment']."<p>";     
echo "<header><h3>By: ".$fetch['comment_by']."</h3><br>"; 
echo "<a href='mailto:".$fetch['email'].">".$fetch['email']."</a></br>";
$sqldate = $fetch['datetime'];
$date=strtotime($sqldate);
echo "<span class='date'>On: " .date("m/d/Y, g:i A", $date)."</span></header></p>";

请注意,它会获取正确的电子邮件地址,但不会使用html正确创建超链接。另请注意,这些都包含在php标记内。

link to photo showing problem

2 个答案:

答案 0 :(得分:2)

你错过了一句话:

echo "<a href='mailto:".$fetch['email']."'>".$fetch['email']."</a></br>";
                                    -----^

答案 1 :(得分:0)

现在,在PHP和HTML之间出现这种混乱是不可接受的,通常以&#34;缺少引号&#34;。

您的视图应该是

<h3><u>Latest Comments:</u></h3>

<?php foreach($records as $record) : ?>
<hr />
<p><?php echo $record['comment'] ?></p>
<header>
    <h3>By: <?php echo $record['comment_by'] ?></h3>
    <a href="mailto:<?php echo $record['email'] ?>"><?php echo $record['email'] ?></a><br />
    <span class="date">On: <?php echo date("m/d/Y, g:i A", strtotime($record['datetime'])) ?></span>
</header>
<?php endforeach ?>

帮助自己并阅读Alternative syntax for control structures