Créer un QR Code en PHP

Il est relativement facile de créer des QR Codes en PHP et à peine plus difficile de le faire sous WordPress.
Il convient au préalable de charger la librairie phpqrcode ici : https://sourceforge.net/projects/phpqrcode/files/

Le fichier ZIP devra être décompressé dans un dossier "qrcode" créé par exemple (ça me semble le plus facile) à la racine du site :  /qrcode/
A l'intérieur de ce dossier on pourra créer un sous-dossier /qrcode/qr-img/ pour y stocker les QR-Code eux-mêmes.

Voici un exemple permettant, à partir d'un formulaire, d'intégrer des informations dans un QR Code.
Toutes les variables utiles sont expliquées ici : http://phpqrcode.sourceforge.net/examples/index.php?example=023

Petit rappel pour ceux qui sont arrivés directement sur cette page : pour programmer en PHP sous WordPress il est nécessaire de passer par la gestion des modèles de pages (templates) tel qu'indiqué ici par exemple : programmer-en-php-sous-wordpress


<?
// Script pour réaliser un QR Code
// Réalisation du formulaire
echo "<form action='' method='post'>
<table style='width:400px;border:0px;cellspacing:0'>
<tr><td width='200'>Nom et prénom :</td><td width='300'><input type='txt' name='q_nom'/><br></td></tr>
<tr><td>Téléphone : </td><td><input type='txt' name='q_phone'/><br></td></tr>
<tr><td>Email :</td><td><input type='txt' name='q_email'/><br></td></tr>
<tr><td style='vertical-align:top';>Libre :</td><td><textarea name='q_libre' maxlength='100'>&nbsp;</textarea></td></tr>
<tr><td><input type='submit' name='valid' value='Envoyer'/></td><td></td></tr></table>
</form>";
// Fin du formulaire
// On teste si le formulaire a été validé
if ( isset( $_POST['valid'] ) )
{
// On récupère les données
$k_query = $_POST['q_nom']."\n"; 
$k_query .= $_POST['q_phone']."\n"; 
$k_query .= $_POST['q_email']; 
$k_query .= $_POST['q_libre'];
}
else
{
echo "on n'a rien envoyé";
}
//On inclut la librairie dans le script. Dans le cas présent à partir de son dossier à la racine du site
include('phpqrcode/qrlib.php'); 
// On crée l'image. Les valeurs "Level_H,4,10" font référence à la taille du fond, du code et des pixels
// voir l'explication des variables utiles sur le site donné plus haut...
// On crée notre QR Code sous le nom image-qrcode.png et on le place dans le sous-dossier /phpqrcode/qr-img
QRcode::png($k_query, 'phpqrcode/qr-img/image-qrcode.png',QR_ECLEVEL_H,4,10); 
// On l'affiche
echo "<img src='/phpqrcode/qr-img/image-qrcode.png'>";
?>

Exemple ici d'un QR Code créé à partir de champs "input" et qui permet ensuite génération d'un PDF
(soyez patient il faut quelques secondes pour générer le QR Code et le PDF, cliquez ensuite sur le lien test.pdf)

 

Pour visualiser le contenu d'un QR Code en ligne : https://zxing.org/w/decode.jspx

 

Xc3j - 2021

 

Créer un QR Code en PHP