[RESOLU] Problème affichage QRcode // PHPQRcode

Avera
Invité n'ayant pas de compte PHPfrance

22 juin 2016, 14:09

Bonjour !

Bonjour !

Alors, voila j'ai un petit soucis, je suis débutante et je patauge complètement.

Je tente de créer un QrCode avec la librarie PHPqrcode en reprenant des informations de ma base de donnée.

Cependant, il n'y à qu'une petite boite blanche qui s'affiche et non un QRcode et je n'arrive pas à trouver ou se trouve le problème dans mon code.

Est ce que quelqu'un aurait une idée?

Merci d'avance.

Code : Tout sélectionner

<?php ini_set('display_errors',1); include "phpqrcode/qrlib.php"; // Only process the form if $_POST isn't empty if ( isset( $_POST ) ) { session_start(); $content=""; //include('config.php'); if(!isset($_SESSION['login'])) {die('Vous devez être enregistré pour accéder à cette partie du site');} // Connect to MySQL $mysqli = new mysqli( 'x.mysql.db', 'x', 'x', 'x' ); // Check our connection if ( $mysqli->connect_error ) { die( 'Connect Error: ' . $mysqli->connect_errno . ': ' . $mysqli->connect_error ); } // Insert our data $sql = "INSERT INTO Objet ( Name, Description, Owner ) VALUES ( '{$mysqli->real_escape_string($_POST['Name'])}', '{$mysqli->real_escape_string($_POST['Description'])}', '{$_SESSION['ID']}' )"; $insert = $mysqli->query($sql); // Print response from MySQLt if ( $insert ) { // echo "Success! Row ID: {$mysqli->insert_id}"; header("Content-Type: image/png"); $id=$mysqli->insert_id; $ID='ID: '.$id; define('IMAGE_WIDTH', 500); define('IMAGE_HEIGHT', 500); QRcode::png($ID); } else { die("Error: {$mysqli->errno} : {$mysqli->error}"); } //$filename = 'qrcode.png'; //$errorCorrectionLevel = 'H'; //$matrixPointSize = 7; //QRcode::png($ID); // Close our connection $mysqli->close(); }?>

Mammouth du PHP | 1967 Messages

22 juin 2016, 14:14

T'es tu assuré que $id=$mysqli->insert_id; te renvoyait bien la valeur obtenue ?

As tu essayé d'afficher un qrcode sans requète, en connaissant et controlant son contenu pour t'assurer que le code nécéssaire à ta librairie est bon ?

Je pencherais pour une erreur php qui bloque la génération de l'image et qui n'est pas affiché à cause du header. enlève le header pour l'instant pour voir si il y a erreur.

Ne faudrait il pas aussi instancier un objet qrcode ?
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

avera
Invité n'ayant pas de compte PHPfrance

22 juin 2016, 14:18

Oui, j'ai bien vérifié et cela me renvoit au bon ID c'est pour ca que je ne comprend pas pourquoi cela ne fonctionne pas.
J'ai aussi testé d'affiche à QRcode simplement, de la même façon et sans la partie mysql tout fonctionne parfaitement.

J'ai aussi essayé sans le header et toujours le même résultat? Ca fait 3 jours que je me casse la tête la dessus je ne sais vraiment plus quoi essayer.

Merci de ta réponse :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 juin 2016, 15:07

Bonjour,

Essaye en commentant cette ligne là :
header("Content-Type: image/png");
ça devrait te permettre de voir si tu as un message d'erreur.
Attention, une fois les messages d'erreur corrigés, il faut la décommenter pour retrouver l'image
Quand tout le reste a échoué, lisez le mode d'emploi...

avera
Invité n'ayant pas de compte PHPfrance

22 juin 2016, 15:12

Bonjour,

J'ai déjà essayé, sur google chrome j'ai toujours cette petite boite blanche et sur firefox j'ai ce message d'erreur : L'image " lien de la page " ne peut pas être affichée car elle contient des erreurs. Mais il ne précise pas quoi...

Petit nouveau ! | 2 Messages

22 juin 2016, 17:04

Problème résolu, pour ceux qui chercherai la solution, il suffisait juste de sortir " QRcode::png($ID);" de la boucle mysql