Validasi Webcam ke database agar tidak double data

mohon bantuannya kawan-kawan saya butuh banyak belajar, apakah ada salah dalam code saya? misalkan input data malahan data tersebut double.

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Diperbarui 1 tahun yang lalu

19 Jawaban:

<div>data yang masuk ke salah satu tabelnya ada yg masuk 2 baris ya?<br>gak melihat&nbsp; penyebabnya sih, tapi yang baris ke-28 itu , dua kolom nya berisi&nbsp; data username?</div>

avatar GrennKren
@GrennKren

62 Kontribusi 47 Poin

Dipost 1 tahun yang lalu

<div>baris 28 itu gak ngaruh, cuman input data ke table sebelah gan. fokus ke hasil1 itu gan<br><br></div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

<div>iya, kalau di submit double data&nbsp;</div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

<div><figure data-trix-attachment="{&quot;contentType&quot;:&quot;image/jpeg&quot;,&quot;filename&quot;:&quot;b7f442c212eb3d7152e83b4622c3a75434505597d5b84c7c931d6150e56e3909.jpg&quot;,&quot;filesize&quot;:45535,&quot;height&quot;:322,&quot;url&quot;:&quot;https://i.ibb.co/Q9W4f8K/b7f442c212eb3d7152e83b4622c3a75434505597d5b84c7c931d6150e56e3909.jpg&quot;,&quot;width&quot;:780}" data-trix-content-type="image/jpeg" data-trix-attributes="{&quot;caption&quot;:&quot;contohnya gini gan, kalau di input ke database yang satu nama dan foto masuk, satunya lagi nama tidak masuk akan tetapi foto masuk, terjadinya double atau dublikate data. saya mau satu data aja nama dan foto masuk&quot;,&quot;presentation&quot;:&quot;gallery&quot;}" class="attachment attachment--preview attachment--jpg"><img src="https://i.ibb.co/Q9W4f8K/b7f442c212eb3d7152e83b4622c3a75434505597d5b84c7c931d6150e56e3909.jpg" width="780" height="322"><figcaption class="attachment__caption attachment__caption--edited">contohnya gini gan, kalau di input ke database yang satu nama dan foto masuk, satunya lagi nama tidak masuk akan tetapi foto masuk, terjadinya double atau dublikate data. saya mau satu data aja nama dan foto masuk</figcaption></figure></div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

<div>saya cek cek itu akibat refresh<br><br>sudah saya coba melakukkan isset akan tetapi data nama dan foto masuk ke dalam database tidak terjadi dublikat, masala terjadi lagi foto tidak masuk ke dalam direktory yang mengakibatkan data tidak muncul dalam list<br><br></div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

Tanggapan

Lalu coba periksa file yang mengeksekusi proses upload.php nya itu. Mungkin dibagian situ

<div>kalau gitu berarti yg $_POST itu di dilakukan pengecekan aja dengan if(isset($_POST)).<br>jika berisi value maka akan melanjutkan proses. Jadi saat refresh, ketika $_POST nya kosong maka akan dihiraukan kodingan yang dibawahnya.<br><br>Edit ======<br>eh sorry, ga baca yang terakhir.</div>

avatar GrennKren
@GrennKren

62 Kontribusi 47 Poin

Dipost 1 tahun yang lalu

Tanggapan

if (isser($_POST)==0) gitu kah ?

<div><figure data-trix-attachment="{&quot;contentType&quot;:&quot;image/png&quot;,&quot;filename&quot;:&quot;Screenshot (115).png&quot;,&quot;filesize&quot;:235476,&quot;height&quot;:1080,&quot;url&quot;:&quot;https://i.ibb.co/SVKTQdB/Screenshot-115.png&quot;,&quot;width&quot;:1920}" data-trix-content-type="image/png" data-trix-attributes="{&quot;caption&quot;:&quot;saya ubah code seperti ini, sama aja data ke database masuk akan tetapi tidak muncul di list&quot;,&quot;presentation&quot;:&quot;gallery&quot;}" class="attachment attachment--preview attachment--png"><img src="https://i.ibb.co/SVKTQdB/Screenshot-115.png" width="1920" height="1080"><figcaption class="attachment__caption attachment__caption--edited">saya ubah code seperti ini, sama aja data ke database masuk akan tetapi tidak muncul di list</figcaption></figure></div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

Tanggapan

yg if($_POST) jadi if(isset($_POST))

udah bang, data ke database udah masuk, sedangkan foto tidak muncul di list karena gak masuk di direktori.

saya coba tetap duplikate bang

bisa contohkan gak bang yang di kasih value

<div>&nbsp;if(isset($_POST)) berhasil bang, akan tetapi data masuk masih double, sedikit lagi bang, maaf bang menggangu waktunya</div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

<div>f(isset($_POST['submit'])) data tidak duplikate, akan tetapi foto tidak masuk ke direktori<br><br></div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

<div>Aku coba sendiri tadi, rupanya jika tidak di input, $_POST akan berisi value array(). Kosong memang, tapi isset tetap menganggapnya true.<br><br>Jadi daripada isset($_POST) , pake !empty($_POST). Mengecek jika tidak kosong maka true.</div>

avatar GrennKren
@GrennKren

62 Kontribusi 47 Poin

Dipost 1 tahun yang lalu

<div>maaf bang,&nbsp; !empty($_POST) data masuk tidak duplikat, akan tetapi tidak masuk ke direktori mengakibatkan foto tidak muncul bang</div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

<div>aku nyoba bisa aja sih berjalan normal.&nbsp;<br><br>itu form nya kek gini aja kan kira2?</div><pre>&lt;form action ="upload.php" method="post" enctype="multipart/form-data"&gt; &lt;input name="username" value=""&gt; &lt;input name="nama_siswa" value=""&gt; .. .. &lt;input name="webcam" type="file"&gt; &lt;input type="submit"&gt; &lt;/form&gt;</pre>

avatar GrennKren
@GrennKren

62 Kontribusi 47 Poin

Dipost 1 tahun yang lalu

<div>https://suckittrees.com/artikel-470/mengambil-foto-webcam-dengan-webcamjs-dan-php.html#<br><br><br>saya menggunakan website ini bang</div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

<div>Baiklah ini terakhir , cuman sampai sini aja aku bisa memikirkannya, Kembali ke awal.<br><br>Jadi pada dasarnya kamu memproses nya ntah kenapa "2 kali" yang upload.php<br><br>Soalnya $_FILES ntah kenapa ini yang diproses terlebih dahulu meski $_POST kosong.<br>Lalu ketika selesai memindahkan yg $_FILES ini ke folder "upload/" , kodingan mu baru memproses sekali lagi untuk memproses yang $_POST.<br><br>Kalau misalkan lewat javascript buat mengeksekusi , pastikan aja di event listener nya ditambahin stopPropagation untuk jaga2 saja..<br>Kalau bukan javascript , aku taunya cuman sampai sini aja.<br><br></div>

avatar GrennKren
@GrennKren

62 Kontribusi 47 Poin

Dipost 1 tahun yang lalu

Tanggapan

siapp bang, makasih pencerahannya

<pre> div class="form-group col-md-6"&gt;
&lt;div class="mb-3"&gt; &lt;label for="formFile" class="form-label fw-bold"&gt;Foto&lt;/label&gt; &lt;div id="camera"&gt;Capture&lt;/div&gt;

                &amp;lt;div id=&quot;webcam&quot;&amp;gt;
                    &amp;lt;input type=button value=&quot;Capture&quot; onClick=&quot;preview()&quot;&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;div id=&quot;simpan&quot; style=&quot;display:none&quot;&amp;gt;
                    &amp;lt;input type=button value=&quot;Remove&quot; onClick=&quot;batal()&quot;&amp;gt;
                &amp;lt;/div&amp;gt;

                &amp;lt;div id=&quot;hasil&quot;&amp;gt;
                    
                &amp;lt;/div&amp;gt;
         &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt; &lt;/pre&gt;
avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

<div>Lalu yg function preview() nya itu seperti apa isinya</div>

avatar GrennKren
@GrennKren

62 Kontribusi 47 Poin

Dipost 1 tahun yang lalu

<pre> //script webcam &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/webcamjs/1.0.26/webcam.min.js"&gt;&lt;/script&gt; &lt;script language="Javascript"&gt; // konfigursi webcam Webcam.set({ width: 320, height: 240, image_format: 'jpg', jpeg_quality: 100 }); Webcam.attach( '#camera' );

    function preview() {
        // untuk preview gambar sebelum di upload
        Webcam.freeze();
        // ganti display webcam menjadi none dan simpan menjadi terlihat
        document.getElementById(&#039;webcam&#039;).style.display = &#039;none&#039;;
        document.getElementById(&#039;simpan&#039;).style.display = &#039;&#039;;
    }
    
    function batal() {
        // batal preview
        Webcam.unfreeze();
        
        // ganti display webcam dan simpan seperti semula
        document.getElementById(&#039;webcam&#039;).style.display = &#039;&#039;;
        document.getElementById(&#039;simpan&#039;).style.display = &#039;none&#039;;
    }
    
    function simpan() {
        // ambil foto
        Webcam.snap( function(data_uri) {
            
            // upload foto
            Webcam.upload( data_uri, &#039;tambah_aksi_siswa.php&#039;, function(code, text) {} );

            // tampilkan hasil gambar yang telah di ambil
            document.getElementById(&#039;hasil&#039;).innerHTML = 
                &#039;&amp;lt;p&amp;gt;Hasil : &amp;lt;/p&amp;gt;&#039; + 
                &#039;&amp;lt;img src=&quot;&#039;+data_uri+&#039;&quot;/&amp;gt;&#039;;
            
            Webcam.unfreeze();
        
            document.getElementById(&#039;webcam&#039;).style.display = &#039;&#039;;
            document.getElementById(&#039;simpan&#039;).style.display = &#039;none&#039;;
        } );
    }

    
&amp;lt;/script&amp;gt;
 &lt;/pre&gt;
avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

Tanggapan

kaya gini bang

Jawaban Terpilih

<div>Sudah nemu, ntah work atau gak.&nbsp;<br>Permasalahannya (mungkin) ada pada&nbsp;</div><pre>Webcam.upload( data_uri, 'tambah_aksi_siswa.php', function(code, text) {} );</pre><div>Ntah kenapa bagian sini dua kali memproses.<br><br>lalu form yang kamu tunjukin sbelum nya dah pasti berbeda dengan yang kamu kerjakan kan?<br>jadi kurang tau pasti, ntah kamu menggunakan elemen form atau gak.<br><br>Tapi untung nya di webcamjs sudah di dokumentasikan berbagai contoh nya.<br><a href="https://github.com/jhuckaby/webcamjs/blob/master/DOCS.md">https://github.com/jhuckaby/webcamjs/blob/master/DOCS.md</a><br>jadi untuk menghandle input lain dalam satu form.<br>data_uri nya ini dikerjakan secara terpisah.<br><br>Jika kamu menggunakan form.<br><br>pertama, buat satu lagi input dengan type hidden. Misal</div><pre>&lt;input name="gambar_raw" type="hidden"&gt; </pre><div>Itu buat naroh gambar webcam nya.<br><br>lalu bagian Webcam.snap , kita ambil data raw dari output webcam.</div><pre>var raw_image_data = data_uri.replace(/^data:image/\w+;base64,/, '');</pre><div><br>kita masukkin value raw_image_data nya ke dalam input gambar_raw tadi.<br>Nah sampai sini sudahlah di sisi client, ntah mengirim data nya lewat ajax atau submit form biasa. (Gak lewat Webcam.upload)<br><br>Lalu bagian server nya si upload.php<br>ambil gambar_raw tadi dan decode value nya.</div><pre>$gambar = base64_decode( $_POST['gambar_raw'] );

// Simpan gambar nya dengan file_put_contents, gak pake move_uploaded_file ini lagi. $result = file_put_contents( 'lokasi_keluaran/contoh_nama.jpg', $gambar ); <br></pre><div><br>Dan disini pun bisa menambahin input an lain nya misalkan username, nama_siswa, dll tadi yang ada di form.</div><div><br><br></div>

avatar GrennKren
@GrennKren

62 Kontribusi 47 Poin

Dipost 1 tahun yang lalu

<div>work bang, terima kasih.. saya hanya bisa mengucakan doa, semoga abang sehat selalu dan di murahkan rezeki</div>

avatar srihidayat
@srihidayat

17 Kontribusi 0 Poin

Dipost 1 tahun yang lalu

Login untuk ikut Jawaban