Как вставить холст как имя файла png в таблицу базы данных - PullRequest
0 голосов
/ 05 мая 2019

Мне нужно загрузить подпись, используя изображение холста в папке на моем компьютере.Это работает отлично.Помимо того, что каждый человек должен иметь свою подпись соответственно, в таблице есть столбец подписи.Но когда я добавляю запрос для обновления столбца «сигнатура» именем файла png, он не работает.

Я попытался получить идентификационный номер человека в URL и отобразить его в текстовом поле.После этого функция jquery получает идентификационный номер и данные изображения холста.Затем Ajax получит эти данные для передачи в php-файл.В мой PHP-файл включены загрузка на мой компьютер и обновление столбца.Загрузка в папку на моем компьютере работает, но запрос не выполняется.

 <form method="POST">
    <div id="signArea" class="pull-left">
      <button id="btnRemove" class="btn btn-danger btn-xs pull-right" type="button" onclick="clearcanvas1()">Clear</button>
       <div class="sig sigWrapper" style="height:auto; border: 1px solid gray"> 
      <div class="typed"></div>
            <canvas class="sign-pad" id="sign-pad" width="300" height="100"></canvas>
            <input type="" id="patient_number" class="form-control" value="<?php echo $_GET['patient_number'] ?>" >
        </div>
    </div>
    <button id="btnSaveSign" type="button" class="btn btn-success pull-right">Submit</button>
 </form>



 <script>
        $(document).ready(function() {
            $('#signArea').signaturePad({drawOnly:true, drawBezierCurves:true, lineTop:90});
        });

        $("#btnSaveSign").click(function(e){
            html2canvas([document.getElementById('sign-pad')], {
                onrendered: function (canvas) {
                    var patient_number = $("#patient_number").val();
                    var canvas_img_data = canvas.toDataURL('image/png');
                    var img_data = canvas_img_data.replace(/^data:image\/(png|jpg);base64,/, "");

                    //ajax call to save image inside folder
                    $.ajax({
                        url: 'fetch.php',
                        data: {img_data:img_data, patient_number:patient_number},
                        type: 'POST',
                        dataType: 'json',
                        success: function (response) {
                         window.location.href='staff/patientmode.php';

                        }
                    });
                }
            });
        });

        function clearcanvas1()
        {
            var canvas = document.getElementById('sign-pad'),
                ctx = canvas.getContext("2d");
            ctx.clearRect(0, 0, canvas.width, canvas.height);
        }
      </script> 

  <?php 

     include '../../connectiondb.php';

     $result = array();
     $imagedata = base64_decode($_POST['img_data']);
     $filename = md5(date("dmYhisA"));
     //Location to where you want to created sign image
     $file_name = 'images/patients/signature/'.$filename.'.png';
     file_put_contents($file_name,$imagedata);
      $result['status'] = 1;
     $result['file_name'] = $file_name;

     echo json_encode($result);

      $sql = "UPDATE medicalhistory set signature = '{$filename}' WHERE patient_number = '".$_POST['patient_number']."';";
mysqli_query($conn, $sql);


     ?>

Загрузить файл в папку на моем компьютере и одновременно вставить имя файла в таблицу столбцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...