Penso potresti provare a modificare più o meno in questo modo la parte finale del codice del form.
$codice=JRequest::getVar('nome','','post');
if ($codice<>"") {
$codice="BEGIN:VCARD\n";
$codice.="VERSION:2.1\n";
$codice.="N: ".JRequest::get('nome','','post')." ".JRequest::get('cognome','','post')."\n";
$codice.="ADR: ".JRequest::get('indirizzo','','post')."\n";
$codice.="TEL: ".JRequest::get('telefono','','post')."\n";
$codice.="URL: ".JRequest::get('web','','post')."\n";
$codice.="EMAIL: ".JRequest::get('mail','','post')."\n";
$codice.="END:VCARD\n";
$qrcode = new QRCode();
$qrcode->setData($codice);
$qrcode->setOutputEncoding(QRCode::$_ENCODING_UTF8);
$qrcode->setOutPutFormat(QRCode::$_OUTPUT_FORMAT_PNG);
//$content = $qrcode->getContentsForPost();
$content = $qrcode->getUrlQuery();
echo $codice."<br/>";
echo '<img src="'.$content.'">';
}
I nomi dei campi da usare dovrebbero essere quelle delle Jrequest oppure modifichi di conseguenza.
Ho messo il controllo sul campo nome, quando è nullo non mostra il codice. Ma puoi adottare un altro criterio.