Мне нужно загрузить подпись, используя изображение холста в папке на моем компьютере.Это работает отлично.Помимо того, что каждый человек должен иметь свою подпись соответственно, в таблице есть столбец подписи.Но когда я добавляю запрос для обновления столбца «сигнатура» именем файла 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);
?>
Загрузить файл в папку на моем компьютере и одновременно вставить имя файла в таблицу столбцов.