• 24-05-2023, 15:24:45
    #1
    Veri giriş çıkışı yaptığım bir nevi irsaliye şeklinde bir script yazdım, bu scripte teslimat yapan ve alanın fiziki imzasını almam, ekrana attığı imzayı veri tabanı yada ftp ye kaydetmem gerekiyor.
    Araştırdım pek bir sonuç alamadım daha önce böyle bir ihtiyacı olup yapan
    Yada nasıl yapacağıma dair fikri olan var mı?
    Bu işi php ile çözebilir miyiz ?
  • 24-05-2023, 15:26:40
    #2
    jSignature
  • 24-05-2023, 15:58:19
    #3
    Sağolsun chatgpt yardımcı oldu bu konuda da
    ihtiyacı olan için örnek bir kod bloğu

    <?php
    // Form gönderildiğinde çalışacak kod
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // MySQL veritabanına bağlanma işlemleri
    $servername = "localhost";
    $username = "kullanici_adi";
    $password = "sifre";
    $dbname = "veritabani_adi";

    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) {
    die("Veritabanı bağlantısı başarısız: " . $conn->connect_error);
    }

    // POST verilerini al
    $imzaVerisi = $_POST['imza']; // JavaScript tarafından gönderilen imza verisi

    // Veritabanına ekle
    $sql = "INSERT INTO imzalar (imza_verisi) VALUES ('$imzaVerisi')";

    if ($conn->query($sql) === TRUE) {
    echo "İmza başarıyla kaydedildi.";
    } else {
    echo "Hata: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();
    }
    ?>

    <!DOCTYPE html>
    <html>
    <head>
    <title>İmza Alanı Örneği</title>
    <script src="https://unpkg.com/signature_pad"></script>
    </head>
    <body>
    <h2>İmza Alanı</h2>
    <canvas id="imzaCanvas" width="400" height="200" style="border: 1px solid black"></canvas>
    <br>
    <button onclick="kaydet()">Kaydet</button>

    <script>
    // İmza alanını oluştur
    var canvas = document.getElementById('imzaCanvas');
    var signaturePad = new SignaturePad(canvas);

    // İmzayı kaydetme fonksiyonu
    function kaydet() {
    if (signaturePad.isEmpty()) {
    alert("Lütfen bir imza yapın.");
    } else {
    // İmza verisini al
    var imzaVerisi = signaturePad.toDataURL();

    // İmza verisini PHP'ye gönder
    var xhr = new XMLHttpRequest();
    xhr.open("POST", "<?php echo $_SERVER['PHP_SELF']; ?>", true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.onreadystatechange = function () {
    if (xhr.readyState === 4 && xhr.status === 200) {
    alert(xhr.responseText);
    }
    };
    xhr.send("imza=" + encodeURIComponent(imzaVerisi));
    }
    }
    </script>
    </body>
    </html>