2012-10-15 65 views
3

我有一个PHP脚本,可以根据网站上输入的详细信息生成名片模板。创建vCard QR码

我们最近决定将QR码vCards添加到名片中,作为保存联系信息的简单方法。我使用this教程作为起点。

但是,我的QR码不起作用。它一直给我没有结果和格式作为文本。

下面是创建虚拟卡,并显示该QR代码的脚本:

$vcard = "BEGIN:VCARD\r\nVERSION:3.0\r\n 
N:" . $_POST['surname'] . ";" . $_POST['name'] . "\r\n 
FN:" . $_POST['name'] . " " . $_POST['surname'] . "\r\n 
ORG:Example Organisation\r\n 
TITLE:" . $_POST['position'] . " [" . $_POST['qualification'] . "]\r\n 
TEL;TYPE=work,voice:" . $_POST['telephone'] . "\r\n 
TEL;TYPE=cell,voice:" . $_POST['cellno'] . "\r\n 
TEL;TYPE=work,fax:" . $_POST['fax'] . "\r\n 
URL;TYPE=work:www.example.com\r\n 
EMAIL;TYPE=internet,pref:" . $_POST['email'] . "\r\n 
REV:" . date('Ymd') . "T195243Z\r\n 
END:VCARD"; 

echo '<img src="http://chart.apis.google.com/chart?chs=500x500&cht=qr&chld=H&chl="' . urlencode($vcard) . '"/>'; 

任何援助?

+0

你可以显示'$ vcard'的内容吗?这里显示的是 – bendataclear

+0

。除非我没有正确理解你。 – Albert

+0

你能用纯文本显示结果而不是生成结果吗?要么提供一个链接到您正在检索的谷歌图表的示例链接? – bendataclear

回答

4

将双引号编码到QR码中,如果您删除这些引号(应该避免任何特殊字符被编码时出错),它应该可以正常工作。

卸下报价给我,这似乎来解决这个QR代码:

QR Code

+0

太棒了。像引号一样小......它总是很小。感谢您的帮助。 – Albert

0

只要改变:

echo 'img src="http://chart.apis.google.com/chart?chs=500x500&cht=qr&chld=H&chl="' . urlencode($vcard) . '"/'; 

到:

echo 'img src="http://chart.apis.google.com/chart?chs=500x500&cht=qr&chld=H&chl=' . urlencode($vcard) . '"/'; 

这是因为你关闭,用“来自TAG的SRC <img>