• 09-03-2023, 20:55:28
    #1
    Selamlar,
    Bir QR sistemim var.
    Ürünlerin üzerine yapıştırılacak ve daha önce yapılmış olan testlerine ulaşılacak.
    Ben bu QR kodunu okuyan kişilerin loglarını tutmak istiyorum.
    IP adresi ve linke giriş tarihi benim için yeterli.
    Her oluşturulan QR için bir GUID tutuyorum bunuda veritabanına kayıt ediyorum.
    Fakat bu kayıtları nasıl tutabileceğim konusunda takıldım, kafamda mantık oturtamadım.
    Bu konuda önerileriniz nedir?

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css">
      <title></title>
      <style type="text/css">
        body {
            overflow: hidden;
            background-color: #000;
        }
    
        .cover-container {
            height: 100vh;
        }
      </style>
    </head>
    <body>
    
    <?php
    
    require_once "phpqrcode/qrlib.php";
    
    $servername = "localhost";
    $username = "root";
    $password = "****";
    $dbname = "qrsistemi";
    
    $conn = mysqli_connect($servername, $username, $password, $dbname);
    if (!$conn) {
        die("Connection failed: " . mysqli_connect_error());
    }
    
    if(isset($_POST['link'])) {
      $qrlink = $_POST['link'];
    } else {
      $qrlink = '';
    }
    
    $guid = uniqid();
    
    $qroptions = array(
      'version' => 5,
      'ecc' => QR_ECLEVEL_L,
      'module_size' => 4,
      'border' => 0
    );
    
    $logo = 'assets/logo/Piktogram.png';
    $logowidth = 50;
    $logoheight = 50;
    
    QRcode::png($qrlink, 'qr/' . $guid . '.png', QR_ECLEVEL_L, 10, 2, false, 0xFFFF00);
    
    $qrimage = imagecreatefrompng('qr/' . $guid . '.png');
    $logoimage = imagecreatefrompng($logo);
    $logoheight = imagesy($logoimage);
    $logowidth = imagesx($logoimage);
    $qrwidth = imagesx($qrimage);
    $qrheight = imagesy($qrimage);
    imagecopy($qrimage, $logoimage, ($qrwidth-$logowidth)/2, ($qrheight-$logoheight)/2, 0, 0, $logowidth, $logoheight);
    
    imagepng($qrimage, 'qr/' . $guid . '.png');
    
    
    echo '<div class="container cover-container text-center d-flex flex-column">';
    echo '<div class="row align-items-center justify-content-center flex-fill">';
    echo '<div class="col-12">';
    echo '<main>';
    echo '<img src="qr/' . $guid . '.png" />';
    
    $id = mysqli_insert_id($conn);
    $special_link = $guid;
    
    $sql = "INSERT INTO qr (goruntulenme_id, qrlink, olusturma_tarihi) VALUES ('$special_link', '$qrlink', NOW())";
    
    if (mysqli_query($conn, $sql)) {
        echo '<div class="alert alert-success" role="alert">';
        $url = 'https://cloud.****.com.tr/_TURAN/qr/qr_goster.php?id=' . $guid;
        echo "<a href='$url'>$url</a></br>";
        echo '</div>';
    } else {
        echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
    
    mysqli_close($conn);
    
    echo '</main>';
    echo '</div>';
    echo '</div>';
    echo '</div>';
    
    ?>
    
      <script src="assets/js/bootstrap.bundle.min.js"></script>
    
    </body>
    </html>
  • 09-03-2023, 21:18:22
    #2
    We create masterpieces
    okutulan qr'ın yönlendirilme adresini kendi yazdığınız bir dosyaya yapın hocam. O dosyaya erişim olduğunda istediğiniz logları tutarsınız. Qrdan gelen bilgiye göre de yönlendirme yaparsınız.