Back to top

Autore Topic: [RISOLTO] Form per generare un QR Code  (Letto 26536 volte)

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:Form per generare un QR Code
« Risposta #40 il: 17 Lug 2011, 19:03:43 »
Scusa vales, ma da dove lo prendo il codice dei campi? sicuramente sono domande banali per te, ma io non conosco bene chronoforms, lo sto usando adesso per la prima volta.

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Form per generare un QR Code
« Risposta #41 il: 17 Lug 2011, 19:07:32 »
Non importa l'ho visto nel sorgente pagina.

Manca il campo cognome. Forse è l'errore provocato dalla sua assenza.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:Form per generare un QR Code
« Risposta #42 il: 17 Lug 2011, 19:18:17 »
Niente da fare, sembra che non legga i dai immessi nel form, infatti se provi a generare un immagine vedrai che sopra l'immagine generata c'è la lista dei dati inseriti, e al loro posto troverai "Array" , "Array" ....

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Form per generare un QR Code
« Risposta #43 il: 17 Lug 2011, 20:19:31 »
Eccolo

Codice: [Seleziona]
<?php

class QRCode {

  public static 
$_ENCODING_UTF8 "UTF-8";
  public static 
$_ENCODING_Shift_JIS "Shift_JIS";
  public static 
$_ENCODING_ISO_8859_1 "ISO-8859-1";

  public static 
$_OUTPUT_FORMAT_PNG "png";
  public static 
$_OUTPUT_FORMAT_GIF "gif";

  private 
$baseUrl "http://chart.apis.google.com/chart";
  private 
$width=150;
  private 
$height=150;
  private 
$map = array();

  function 
__construct() {
    
$this->map['cht']="qr";
    
$this->map['chs']=$this->width."x".$this->height;
    
$this->map['chof'] = QRCode::$_OUTPUT_FORMAT_PNG;
  }

  public function 
setOutputEncoding($type) { $this->map['choe'] = $type; }
  public function 
setOutputFormat($type) { $this->map['chof'] = $type; }
  public function 
getOuputFormat() { return $this->map['chof']; }
  public function 
setData($data) { $this->map['chl'] = urlencode($data);}
  public function 
setImageSize($width$height) { $this->map['chs'] = $width."x".$height; }
  public function 
setMargin($margin) { $this->map['chld'] = $margin; }
  public function 
getMap() { return $this->map; }

  public function 
setErrorCorrectionLevel($errorCorrectionLevel) {
        
$this->map['chld'] = $errorCorrectionLevel;
  }

  public function 
getUrlQuery() {
    return 
$this->baseUrl."?".$this->getQuery();
  }

  public function 
getQuery() {
    
$query "";
    
$keys array_keys($this->map);
    
$i 0;
    
$length count($this->map);
    foreach(
$keys as $key) {
      
$query .= $key."=".$this->map[$key];
      
$i++;
      if(
$i<$length$query.="&";
    }
    return 
$query;
  }

  public function 
getContentsForGet() {
    return 
file_get_contents($this->baseUrl."?".$this->getQuery());
  }

  public function 
getContentsForPost() {
    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL$this->baseUrl);
    
curl_setopt($chCURLOPT_HTTPHEADER, array("accept: image/png"));
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    
curl_setopt($chCURLOPT_CONNECTTIMEOUT30);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
    
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($chCURLOPT_POSTtrue);
    
curl_setopt($chCURLOPT_POSTFIELDS,$this->getQuery());
    
$output curl_exec($ch);
    
$info curl_getinfo($ch);
    
curl_close($ch);
    if(
$info['http_code'] == 200) {
      return 
$output;
    }
    return 
$info['http_code'];
  }
}

$codice=JRequest::getVar('nome','','post');
if (
$codice<>"") {

$codice="BEGIN:VCARD\n";
$codice.="VERSION:2.1\n";
$codice.="N: ".JRequest::getVar('nome','','post')." ".JRequest::getVar('cognome','','post')."\n";
$codice.="ADR: ".JRequest::getVar('indirizzo','','post')."\n";
$codice.="TEL: ".JRequest::getVar('telefono','','post')."\n";
$codice.="URL: ".JRequest::getVar('web','','post')."\n";
$codice.="EMAIL: ".JRequest::getVar('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 
"N: ".JRequest::getVar('nome','','post')." ".JRequest::getVar('cognome','','post')."<br/>";
echo 
"ADR: ".JRequest::getVar('indirizzo','','post')."<br/>";
echo 
"TEL: ".JRequest::getVar('telefono','','post')."<br/>";
echo 
"URL: ".JRequest::getVar('web','','post')."<br/>";
echo 
"EMAIL: ".JRequest::getVar('email','','post')."<br/>"."<br/>"."<br/>";

echo 
'<img src="'.$content.'">';
//echo '<img src="data:image/png;base64,'.base64_encode($content).'">';
//file_put_contents("C:\wamp\www\joomla16\prova.png", $content);
}
?>

C'era alcune VAR rimaste a casa. Ho sistemato anche la visualizzazione del testo inviato.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:Form per generare un QR Code
« Risposta #44 il: 17 Lug 2011, 20:37:30 »
Grande vales, adesso funziona perfettamente, anche le informazioni vengono riportata in modo più ordinato, è possibile evitare che vengano mostrati le voci "N", "ADR" ect.?

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:Form per generare un QR Code
« Risposta #45 il: 17 Lug 2011, 21:18:08 »
Bene, allora puoi mettere risolto nel primo post.

Se vuoi togliere i prefissi basta che li calcelli dalle echo aggiunte nell'ultima modifica subito prima di JRequest, punto compreso.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #46 il: 17 Lug 2011, 21:52:04 »
Perfetto, grazie mille di tutto sei stato gentilissimo e molto paziente. Grazie

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #47 il: 17 Lug 2011, 21:56:24 »
C'è ancora un piccolo problema, ossia, l'indirizzo non viene letto da tutti i lettori perché non rispetta lo standard richiesto che è: ADR:;;Street address;city;state;zip;country

Quindi ho cambiato il codice così:

Codice: [Seleziona]
$codice.="ADR:;;".JRequest::getVar('via_home','','post').";".JRequest::getVar('city_home','','post').";".JRequest::getVar('stato_home','','post').";".JRequest::getVar('zip_home','','post')."\n";
ma non lo accetta ancora, per inserire il ; tra un campo e l'altro è giusto come ho fatto io?
« Ultima modifica: 18 Lug 2011, 12:13:13 da klyde »

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #48 il: 18 Lug 2011, 19:48:09 »
Nessuna idea?

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #49 il: 18 Lug 2011, 20:25:49 »
Il codice sembrerebbe corretto. Che reazione ti mostra?
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #50 il: 18 Lug 2011, 20:46:05 »
Adesso funziona, forse era in cache il vecchio codice. Come faccio per ottenere un'immagine un po' più grande?

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #51 il: 18 Lug 2011, 20:51:07 »
Trovato, ora funziona tutto perfettamente grazie di cuore per il tuo aiuto e la tua pazienza!!!

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #52 il: 18 Lug 2011, 21:05:17 »
C'è modo di fargli ignorare i campi lasciati vuoti?

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #53 il: 20 Lug 2011, 06:52:00 »
Occorre un if che trasformi ogni campo passato in una variabile uguale al contenuto del campo + ";" ed in caso di contenuto del campo vuoto la variabile resta vuota, dovresti risolvere.
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #54 il: 22 Lug 2011, 22:55:24 »
Per piacere potresti farmi un esempio in modo che possa copiare il codice?

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #55 il: 23 Lug 2011, 17:26:06 »
Penso dovrebbe essere qualcosa di simile a questo

Codice: [Seleziona]
if (JRequest::getVar('via_home','','post')<>"") {
$via_home=JRequest::getVar('via_home','','post').";";
} else {
$via_home="";
}

if (JRequest::getVar('city_home','','post')<>"") {
$via_home=JRequest::getVar('city_home','','post').";";
} else {
$city_home="";
}

if (JRequest::getVar('stato_home','','post')<>"") {
$via_home=JRequest::getVar('stato_home','','post').";";
} else {
$stato_home="";
}
if (JRequest::getVar('zip_home','','post')<>"") {
$via_home=JRequest::getVar('zip_home','','post');
} else {
$zip_home="";
}

$codice.="ADR:;;".$via_home.$city_home.$stato_home.$zip_home."\n";
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #56 il: 15 Ago 2011, 20:26:51 »
Ciao Vales rieccomi a darti fastidio, hai avuto un po' di tregua perché ero in vacanza  ;D !!!

Il codice che mi hai dato in quale punto va inserito?

Grazie.

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #57 il: 16 Ago 2011, 21:24:39 »
Ora non mi ricordo bene, ma credo prima della riga che crea ADR ed inoltre sostituisce la vecchia creazione di ADR

questo è il codice corretto. L'altro aveva delle imprecisioni.

Codice: [Seleziona]
if (JRequest::getVar('via_home','','post')<>"") {
$via_home=JRequest::getVar('via_home','','post').";";
} else {
$via_home="";
}

if (JRequest::getVar('city_home','','post')<>"") {
$city_home=JRequest::getVar('city_home','','post').";";
} else {
$city_home="";
}

if (JRequest::getVar('stato_home','','post')<>"") {
$via_home=JRequest::getVar('stato_home','','post').";";
} else {
$stato_home="";
}
if (JRequest::getVar('zip_home','','post')<>"") {
$zip_home=JRequest::getVar('zip_home','','post');
} else {
$zip_home="";
}

$codice.="ADR:;;".$via_home.$city_home.$stato_home.$zip_home."\n";
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline klyde

  • Appassionato
  • ***
  • Post: 424
  • Sesso: Maschio
    • Mostra profilo
Re:[RISOLTO] Form per generare un QR Code
« Risposta #58 il: 28 Ago 2011, 17:43:06 »
Ciao Vales, ho sostituito il codice che mi hai dato con la riga che generava il codice ADR, ma i campi vuoti continuano ad essere inseriti nel codice.

 



Web Design Bolzano Kreatif