簡體   English   中英

在HTML中創建PHP代碼

[英]Creating PHP code within HTML

我正在嘗試在HTML中創建一個PHP代碼塊,這樣當用戶加載頁面時,它會以電子郵件地址中的用戶身份顯示其IP地址和時間/日期。

我在fedora21上使用apache,並啟用了PHP(在同一個HTML文件中使用phpinfo()函數測試)。

這是我正在嘗試執行的代碼:

<? echo '<a href="mailto:'.$REMOTE_ADDR.'_'.date('y-m-j').'-@example.com"  title="There is no spoon">For stupid spambots'; ?>

它只是印刷For stupid spambots'; ?> For stupid spambots'; ?>不打印生成的電子郵件地址。

<? echo '<a href="mailto:'.$_SERVER['REMOTE_ADDR'].'_'.date('y-m-j').'-@example.com"  title="There is no spoon">For stupid spambots</a>'; ?>

首先需要關閉<a href ,如果你想返回IP,那么它的$_SERVER['REMOTE_ADDR']不是$REMOTE_ADDR除非你之前定義了那個變量。

從你可以看到結束的事實判斷?> ,我推斷你的PHP代碼根本不運行,並且被解釋為常規HTML。

可能有幾個原因(配置錯誤的Apache就是其中之一),但我懷疑的是你已經禁用了短PHP標簽。 嘗試使用<?php而不是<?

您使用了html錨的語法錯誤。 考慮一下:

<?php 
$address = sprintf('%s_%s-@example.com', $_SERVER['REMOTE_ADDR'], date('y-m-j'));
echo sprintf('<a href="mailto:%1$s" title="%2$s">%3$s: %1$s</a>', 
             $address,
             'There is no spoon',
             'For stupid spambots'); 
?>

如果要使地址可見,則必須將地址打印到錨定義的可見文本內容中。 你只有“For stupid spambots”字符串在那里顯示了什么。

(注意,我只是使用sprintf()調用來保持行的簡短和可讀性。顯然,這也適用於傳統的字符串連接。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM